diff options
author | Kevin Newton <kddnewton@gmail.com> | 2024-07-02 15:52:35 -0400 |
---|---|---|
committer | Kevin Newton <kddnewton@gmail.com> | 2024-07-11 14:25:54 -0400 |
commit | aca42a24783e3a7d17eafb43a031e397bfb70323 (patch) | |
tree | b306703c25c49b84543345536e9f252642cc5a4f | |
parent | 687be43c79a6fb119e52b09ea561cf958a9aabf2 (diff) | |
download | ruby-aca42a24783e3a7d17eafb43a031e397bfb70323.tar.gz |
[ruby/prism] Expose common flags in inspect output
https://github.com/ruby/prism/commit/d0143865c2
915 files changed, 12863 insertions, 4404 deletions
diff --git a/prism/templates/lib/prism/inspect_visitor.rb.erb b/prism/templates/lib/prism/inspect_visitor.rb.erb index 8b35b079c9..3cfe615d85 100644 --- a/prism/templates/lib/prism/inspect_visitor.rb.erb +++ b/prism/templates/lib/prism/inspect_visitor.rb.erb @@ -69,12 +69,12 @@ module Prism # Inspect a <%= node.name %> node. def visit_<%= node.human %>(node) commands << [inspect_node(<%= node.name.inspect %>, node), indent] - <%- (fields = [*node.flags, *node.fields]).each_with_index do |field, index| -%> + <%- (fields = [node.flags || Prism::Template::Flags.empty, *node.fields]).each_with_index do |field, index| -%> <%- pointer = index == fields.length - 1 ? "└── " : "├── " -%> <%- preadd = index == fields.length - 1 ? " " : "│ " -%> <%- case field -%> <%- when Prism::Template::Flags -%> - flags = [<%= field.values.map { |value| "(\"#{value.name.downcase}\" if node.#{value.name.downcase}?)" }.join(", ") %>].compact + flags = [("newline" if node.newline?), ("static_literal" if node.static_literal?), <%= field.values.map { |value| "(\"#{value.name.downcase}\" if node.#{value.name.downcase}?)" }.join(", ") %>].compact commands << ["<%= pointer %>flags: #{flags.empty? ? "∅" : flags.join(", ")}\n", indent] <%- when Prism::Template::NodeListField -%> commands << ["<%= pointer %><%= field.name %>: (length: #{(<%= field.name %> = node.<%= field.name %>).length})\n", indent] diff --git a/prism/templates/template.rb b/prism/templates/template.rb index ba8013c9a3..8e6f1b16aa 100755 --- a/prism/templates/template.rb +++ b/prism/templates/template.rb @@ -493,6 +493,10 @@ module Prism @values = config.fetch("values").map { |flag| Flag.new(flag) } @comment = config.fetch("comment") end + + def self.empty + new("name" => "", "values" => [], "comment" => "") + end end class << self diff --git a/test/prism/snapshots/alias.txt b/test/prism/snapshots/alias.txt index a952e96f67..0d52c14f1a 100644 --- a/test/prism/snapshots/alias.txt +++ b/test/prism/snapshots/alias.txt @@ -1,192 +1,213 @@ @ ProgramNode (location: (1,0)-(23,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(23,11)) + ├── flags: ∅ └── body: (length: 12) ├── @ AliasMethodNode (location: (1,0)-(1,15)) + │ ├── flags: newline │ ├── new_name: │ │ @ SymbolNode (location: (1,6)-(1,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,6)-(1,7) = ":" │ │ ├── value_loc: (1,7)-(1,10) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── old_name: │ │ @ SymbolNode (location: (1,11)-(1,15)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,11)-(1,12) = ":" │ │ ├── value_loc: (1,12)-(1,15) = "bar" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "bar" │ └── keyword_loc: (1,0)-(1,5) = "alias" ├── @ AliasMethodNode (location: (3,0)-(3,21)) + │ ├── flags: newline │ ├── new_name: │ │ @ SymbolNode (location: (3,6)-(3,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,6)-(3,9) = "%s[" │ │ ├── value_loc: (3,9)-(3,12) = "abc" │ │ ├── closing_loc: (3,12)-(3,13) = "]" │ │ └── unescaped: "abc" │ ├── old_name: │ │ @ SymbolNode (location: (3,14)-(3,21)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,14)-(3,17) = "%s[" │ │ ├── value_loc: (3,17)-(3,20) = "def" │ │ ├── closing_loc: (3,20)-(3,21) = "]" │ │ └── unescaped: "def" │ └── keyword_loc: (3,0)-(3,5) = "alias" ├── @ AliasMethodNode (location: (5,0)-(5,19)) + │ ├── flags: newline │ ├── new_name: │ │ @ SymbolNode (location: (5,6)-(5,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,6)-(5,8) = ":'" │ │ ├── value_loc: (5,8)-(5,11) = "abc" │ │ ├── closing_loc: (5,11)-(5,12) = "'" │ │ └── unescaped: "abc" │ ├── old_name: │ │ @ SymbolNode (location: (5,13)-(5,19)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,13)-(5,15) = ":'" │ │ ├── value_loc: (5,15)-(5,18) = "def" │ │ ├── closing_loc: (5,18)-(5,19) = "'" │ │ └── unescaped: "def" │ └── keyword_loc: (5,0)-(5,5) = "alias" ├── @ AliasMethodNode (location: (7,0)-(7,23)) + │ ├── flags: newline │ ├── new_name: │ │ @ InterpolatedSymbolNode (location: (7,6)-(7,16)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (7,6)-(7,8) = ":\"" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (7,8)-(7,11)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (7,8)-(7,11) = "abc" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "abc" │ │ │ └── @ EmbeddedStatementsNode (location: (7,11)-(7,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (7,11)-(7,13) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (7,13)-(7,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (7,13)-(7,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (7,14)-(7,15) = "}" │ │ └── closing_loc: (7,15)-(7,16) = "\"" │ ├── old_name: │ │ @ SymbolNode (location: (7,17)-(7,23)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (7,17)-(7,19) = ":'" │ │ ├── value_loc: (7,19)-(7,22) = "def" │ │ ├── closing_loc: (7,22)-(7,23) = "'" │ │ └── unescaped: "def" │ └── keyword_loc: (7,0)-(7,5) = "alias" ├── @ AliasGlobalVariableNode (location: (9,0)-(9,11)) + │ ├── flags: newline │ ├── new_name: │ │ @ GlobalVariableReadNode (location: (9,6)-(9,8)) + │ │ ├── flags: ∅ │ │ └── name: :$a │ ├── old_name: │ │ @ BackReferenceReadNode (location: (9,9)-(9,11)) + │ │ ├── flags: ∅ │ │ └── name: :$' │ └── keyword_loc: (9,0)-(9,5) = "alias" ├── @ AliasMethodNode (location: (11,0)-(11,13)) + │ ├── flags: newline │ ├── new_name: │ │ @ SymbolNode (location: (11,6)-(11,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (11,6)-(11,9) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── old_name: │ │ @ SymbolNode (location: (11,10)-(11,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (11,10)-(11,13) = "bar" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "bar" │ └── keyword_loc: (11,0)-(11,5) = "alias" ├── @ AliasGlobalVariableNode (location: (13,0)-(13,15)) + │ ├── flags: newline │ ├── new_name: │ │ @ GlobalVariableReadNode (location: (13,6)-(13,10)) + │ │ ├── flags: ∅ │ │ └── name: :$foo │ ├── old_name: │ │ @ GlobalVariableReadNode (location: (13,11)-(13,15)) + │ │ ├── flags: ∅ │ │ └── name: :$bar │ └── keyword_loc: (13,0)-(13,5) = "alias" ├── @ AliasMethodNode (location: (15,0)-(15,12)) + │ ├── flags: newline │ ├── new_name: │ │ @ SymbolNode (location: (15,6)-(15,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (15,6)-(15,9) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── old_name: │ │ @ SymbolNode (location: (15,10)-(15,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (15,10)-(15,12) = "if" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "if" │ └── keyword_loc: (15,0)-(15,5) = "alias" ├── @ AliasMethodNode (location: (17,0)-(17,13)) + │ ├── flags: newline │ ├── new_name: │ │ @ SymbolNode (location: (17,6)-(17,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (17,6)-(17,9) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── old_name: │ │ @ SymbolNode (location: (17,10)-(17,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (17,10)-(17,13) = "<=>" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "<=>" │ └── keyword_loc: (17,0)-(17,5) = "alias" ├── @ AliasMethodNode (location: (19,0)-(19,15)) + │ ├── flags: newline │ ├── new_name: │ │ @ SymbolNode (location: (19,6)-(19,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (19,6)-(19,7) = ":" │ │ ├── value_loc: (19,7)-(19,9) = "==" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "==" │ ├── old_name: │ │ @ SymbolNode (location: (19,10)-(19,15)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (19,10)-(19,11) = ":" │ │ ├── value_loc: (19,11)-(19,15) = "eql?" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "eql?" │ └── keyword_loc: (19,0)-(19,5) = "alias" ├── @ AliasMethodNode (location: (21,0)-(21,9)) + │ ├── flags: newline │ ├── new_name: │ │ @ SymbolNode (location: (21,6)-(21,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (21,6)-(21,7) = "A" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "A" │ ├── old_name: │ │ @ SymbolNode (location: (21,8)-(21,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (21,8)-(21,9) = "B" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "B" │ └── keyword_loc: (21,0)-(21,5) = "alias" └── @ AliasMethodNode (location: (23,0)-(23,11)) + ├── flags: newline ├── new_name: │ @ SymbolNode (location: (23,6)-(23,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (23,6)-(23,7) = ":" │ ├── value_loc: (23,7)-(23,8) = "A" │ ├── closing_loc: ∅ │ └── unescaped: "A" ├── old_name: │ @ SymbolNode (location: (23,9)-(23,11)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (23,9)-(23,10) = ":" │ ├── value_loc: (23,10)-(23,11) = "B" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/arithmetic.txt b/test/prism/snapshots/arithmetic.txt index c8a31c3d70..963080e0d9 100644 --- a/test/prism/snapshots/arithmetic.txt +++ b/test/prism/snapshots/arithmetic.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(13,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(13,8)) + ├── flags: ∅ └── body: (length: 7) ├── @ CallNode (location: (1,0)-(1,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -37,7 +39,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,4)) │ │ ├── flags: ∅ @@ -80,7 +82,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,4)) │ │ ├── flags: ∅ @@ -123,7 +125,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -156,7 +158,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,10)) │ │ ├── flags: ∅ @@ -212,13 +214,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (11,1)-(11,5)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (11,1)-(11,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :** @@ -229,7 +231,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (11,4)-(11,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -241,10 +243,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (13,0)-(13,8)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (13,0)-(13,2)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: -1 ├── call_operator_loc: (13,2)-(13,3) = "." ├── name: :zero? diff --git a/test/prism/snapshots/arrays.txt b/test/prism/snapshots/arrays.txt index 90a4d8f3bb..a73c56ac80 100644 --- a/test/prism/snapshots/arrays.txt +++ b/test/prism/snapshots/arrays.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(122,32)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(122,32)) + ├── flags: ∅ └── body: (length: 50) ├── @ ArrayNode (location: (1,0)-(1,4)) - │ ├── flags: contains_splat + │ ├── flags: newline, contains_splat │ ├── elements: (length: 1) │ │ └── @ SplatNode (location: (1,1)-(1,3)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,1)-(1,2) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,2)-(1,3)) @@ -22,7 +25,7 @@ │ ├── opening_loc: (1,0)-(1,1) = "[" │ └── closing_loc: (1,3)-(1,4) = "]" ├── @ CallNode (location: (3,0)-(3,23)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -63,47 +66,48 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ ArrayNode (location: (3,16)-(3,23)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 3) │ │ │ ├── @ IntegerNode (location: (3,16)-(3,17)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── @ IntegerNode (location: (3,19)-(3,20)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ IntegerNode (location: (3,22)-(3,23)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ ├── closing_loc: (3,12)-(3,13) = "]" │ └── block: ∅ ├── @ ArrayNode (location: (5,0)-(5,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (5,1)-(5,12)) │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (5,1)-(5,12)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (5,1)-(5,3)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (5,1)-(5,2) = "a" │ │ │ ├── closing_loc: (5,2)-(5,3) = ":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ ArrayNode (location: (5,4)-(5,12)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ SymbolNode (location: (5,5)-(5,7)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (5,5)-(5,6) = ":" │ │ │ │ │ ├── value_loc: (5,6)-(5,7) = "b" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "b" │ │ │ │ └── @ SymbolNode (location: (5,9)-(5,11)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":" │ │ │ │ ├── value_loc: (5,10)-(5,11) = "c" │ │ │ │ ├── closing_loc: ∅ @@ -114,31 +118,31 @@ │ ├── opening_loc: (5,0)-(5,1) = "[" │ └── closing_loc: (5,12)-(5,13) = "]" ├── @ ArrayNode (location: (9,0)-(15,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 5) │ │ ├── @ SymbolNode (location: (9,1)-(9,3)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (9,1)-(9,2) = ":" │ │ │ ├── value_loc: (9,2)-(9,3) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ ├── @ SymbolNode (location: (9,5)-(9,7)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (9,5)-(9,6) = ":" │ │ │ ├── value_loc: (9,6)-(9,7) = "b" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b" │ │ ├── @ SymbolNode (location: (10,0)-(10,2)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (10,0)-(10,1) = ":" │ │ │ ├── value_loc: (10,1)-(10,2) = "c" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "c" │ │ ├── @ IntegerNode (location: (10,3)-(10,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ SymbolNode (location: (14,0)-(14,2)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (14,0)-(14,1) = ":" │ │ ├── value_loc: (14,1)-(14,2) = "d" │ │ ├── closing_loc: ∅ @@ -146,31 +150,31 @@ │ ├── opening_loc: (9,0)-(9,1) = "[" │ └── closing_loc: (15,0)-(15,1) = "]" ├── @ ArrayNode (location: (18,0)-(26,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 5) │ │ ├── @ SymbolNode (location: (18,1)-(18,3)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (18,1)-(18,2) = ":" │ │ │ ├── value_loc: (18,2)-(18,3) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ ├── @ SymbolNode (location: (18,5)-(18,7)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (18,5)-(18,6) = ":" │ │ │ ├── value_loc: (18,6)-(18,7) = "b" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b" │ │ ├── @ SymbolNode (location: (19,0)-(19,2)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (19,0)-(19,1) = ":" │ │ │ ├── value_loc: (19,1)-(19,2) = "c" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "c" │ │ ├── @ IntegerNode (location: (19,3)-(19,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ SymbolNode (location: (23,0)-(23,2)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (23,0)-(23,1) = ":" │ │ ├── value_loc: (23,1)-(23,2) = "d" │ │ ├── closing_loc: ∅ @@ -178,12 +182,13 @@ │ ├── opening_loc: (18,0)-(18,1) = "[" │ └── closing_loc: (26,0)-(26,1) = "]" ├── @ ArrayNode (location: (28,0)-(28,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (28,1)-(28,11)) │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (28,1)-(28,11)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ CallNode (location: (28,1)-(28,4)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -210,7 +215,7 @@ │ ├── opening_loc: (28,0)-(28,1) = "[" │ └── closing_loc: (28,11)-(28,12) = "]" ├── @ CallNode (location: (30,0)-(30,19)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ CallNode (location: (30,0)-(30,8)) │ │ ├── flags: ∅ @@ -276,7 +281,7 @@ │ ├── closing_loc: (30,12)-(30,13) = "]" │ └── block: ∅ ├── @ CallNode (location: (32,0)-(32,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (32,0)-(32,8)) │ │ ├── flags: ∅ @@ -332,12 +337,12 @@ │ ├── closing_loc: (32,12)-(32,13) = "]" │ └── block: ∅ ├── @ ArrayNode (location: (34,0)-(35,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (34,0)-(34,1) = "[" │ └── closing_loc: (35,0)-(35,1) = "]" ├── @ CallNode (location: (37,0)-(37,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (37,0)-(37,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -380,7 +385,7 @@ │ ├── closing_loc: (37,12)-(37,13) = "]" │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,19)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ CallNode (location: (39,0)-(39,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -433,6 +438,7 @@ │ ├── closing_loc: (39,12)-(39,13) = "]" │ └── block: ∅ ├── @ MultiWriteNode (location: (41,0)-(41,21)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ IndexTargetNode (location: (41,0)-(41,6)) │ │ │ ├── flags: attribute_write @@ -453,7 +459,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (41,4)-(41,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 0 │ │ │ ├── closing_loc: (41,5)-(41,6) = "]" │ │ │ └── block: ∅ @@ -476,7 +482,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (41,12)-(41,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 0 │ │ ├── closing_loc: (41,13)-(41,14) = "]" │ │ └── block: ∅ @@ -487,18 +493,18 @@ │ ├── operator_loc: (41,15)-(41,16) = "=" │ └── value: │ @ ArrayNode (location: (41,17)-(41,21)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (41,17)-(41,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (41,20)-(41,21)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── @ CallNode (location: (43,0)-(43,19)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (43,0)-(43,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -564,7 +570,7 @@ │ ├── closing_loc: (43,18)-(43,19) = "]" │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (45,0)-(45,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -597,7 +603,7 @@ │ ├── closing_loc: (45,7)-(45,8) = "]" │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,14)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ CallNode (location: (47,0)-(47,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -640,14 +646,16 @@ │ ├── closing_loc: (47,7)-(47,8) = "]" │ └── block: ∅ ├── @ ArrayNode (location: (49,0)-(49,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (49,1)-(49,5)) │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (49,1)-(49,5)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ HashNode (location: (49,3)-(49,5)) + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (49,3)-(49,4) = "{" │ │ │ ├── elements: (length: 0) │ │ │ └── closing_loc: (49,4)-(49,5) = "}" @@ -655,12 +663,13 @@ │ ├── opening_loc: (49,0)-(49,1) = "[" │ └── closing_loc: (49,5)-(49,6) = "]" ├── @ ArrayNode (location: (51,0)-(51,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (51,1)-(51,5)) │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (51,1)-(51,5)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (51,3)-(51,5)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -676,15 +685,16 @@ │ ├── opening_loc: (51,0)-(51,1) = "[" │ └── closing_loc: (51,5)-(51,6) = "]" ├── @ ArrayNode (location: (53,0)-(53,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (53,1)-(53,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ KeywordHashNode (location: (53,4)-(53,8)) │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (53,4)-(53,8)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (53,6)-(53,8)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -700,15 +710,16 @@ │ ├── opening_loc: (53,0)-(53,1) = "[" │ └── closing_loc: (53,8)-(53,9) = "]" ├── @ ArrayNode (location: (55,0)-(55,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (55,1)-(55,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ KeywordHashNode (location: (55,4)-(55,20)) │ │ ├── flags: ∅ │ │ └── elements: (length: 3) │ │ ├── @ AssocSplatNode (location: (55,4)-(55,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ CallNode (location: (55,6)-(55,8)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -722,13 +733,16 @@ │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (55,4)-(55,6) = "**" │ │ ├── @ AssocSplatNode (location: (55,10)-(55,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ HashNode (location: (55,12)-(55,14)) + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── opening_loc: (55,12)-(55,13) = "{" │ │ │ │ ├── elements: (length: 0) │ │ │ │ └── closing_loc: (55,13)-(55,14) = "}" │ │ │ └── operator_loc: (55,10)-(55,12) = "**" │ │ └── @ AssocSplatNode (location: (55,16)-(55,20)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (55,18)-(55,20)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -744,12 +758,13 @@ │ ├── opening_loc: (55,0)-(55,1) = "[" │ └── closing_loc: (55,20)-(55,21) = "]" ├── @ ArrayNode (location: (57,0)-(59,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (58,2)-(58,12)) │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (58,2)-(58,12)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ CallNode (location: (58,2)-(58,5)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -776,22 +791,22 @@ │ ├── opening_loc: (57,0)-(57,1) = "[" │ └── closing_loc: (59,0)-(59,1) = "]" ├── @ ArrayNode (location: (62,0)-(62,17)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 3) │ │ ├── @ SymbolNode (location: (62,3)-(62,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (62,3)-(62,6) = "one" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "one" │ │ ├── @ SymbolNode (location: (62,7)-(62,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (62,7)-(62,10) = "two" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "two" │ │ └── @ SymbolNode (location: (62,11)-(62,16)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (62,11)-(62,16) = "three" │ │ ├── closing_loc: ∅ @@ -799,7 +814,7 @@ │ ├── opening_loc: (62,0)-(62,3) = "%i#" │ └── closing_loc: (62,16)-(62,17) = "#" ├── @ ArrayNode (location: (64,0)-(64,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (64,3)-(64,6)) │ │ │ ├── flags: ∅ @@ -822,28 +837,28 @@ │ ├── opening_loc: (64,0)-(64,3) = "%w#" │ └── closing_loc: (64,16)-(64,17) = "#" ├── @ XStringNode (location: (66,0)-(66,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (66,0)-(66,3) = "%x#" │ ├── content_loc: (66,3)-(66,16) = "one two three" │ ├── closing_loc: (66,16)-(66,17) = "#" │ └── unescaped: "one two three" ├── @ ArrayNode (location: (69,0)-(69,17)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 3) │ │ ├── @ SymbolNode (location: (69,3)-(69,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (69,3)-(69,6) = "one" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "one" │ │ ├── @ SymbolNode (location: (69,7)-(69,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (69,7)-(69,10) = "two" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "two" │ │ └── @ SymbolNode (location: (69,11)-(69,16)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (69,11)-(69,16) = "three" │ │ ├── closing_loc: ∅ @@ -851,7 +866,7 @@ │ ├── opening_loc: (69,0)-(69,3) = "%i@" │ └── closing_loc: (69,16)-(69,17) = "@" ├── @ ArrayNode (location: (71,0)-(71,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (71,3)-(71,6)) │ │ │ ├── flags: ∅ @@ -874,28 +889,28 @@ │ ├── opening_loc: (71,0)-(71,3) = "%w@" │ └── closing_loc: (71,16)-(71,17) = "@" ├── @ XStringNode (location: (73,0)-(73,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (73,0)-(73,3) = "%x@" │ ├── content_loc: (73,3)-(73,16) = "one two three" │ ├── closing_loc: (73,16)-(73,17) = "@" │ └── unescaped: "one two three" ├── @ ArrayNode (location: (76,0)-(76,17)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 3) │ │ ├── @ SymbolNode (location: (76,3)-(76,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (76,3)-(76,6) = "one" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "one" │ │ ├── @ SymbolNode (location: (76,7)-(76,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (76,7)-(76,10) = "two" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "two" │ │ └── @ SymbolNode (location: (76,11)-(76,16)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (76,11)-(76,16) = "three" │ │ ├── closing_loc: ∅ @@ -903,7 +918,7 @@ │ ├── opening_loc: (76,0)-(76,3) = "%i{" │ └── closing_loc: (76,16)-(76,17) = "}" ├── @ ArrayNode (location: (78,0)-(78,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (78,3)-(78,6)) │ │ │ ├── flags: ∅ @@ -926,13 +941,13 @@ │ ├── opening_loc: (78,0)-(78,3) = "%w{" │ └── closing_loc: (78,16)-(78,17) = "}" ├── @ XStringNode (location: (80,0)-(80,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (80,0)-(80,3) = "%x{" │ ├── content_loc: (80,3)-(80,16) = "one two three" │ ├── closing_loc: (80,16)-(80,17) = "}" │ └── unescaped: "one two three" ├── @ ArrayNode (location: (82,0)-(82,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (82,3)-(82,6)) │ │ ├── flags: ∅ @@ -943,7 +958,7 @@ │ ├── opening_loc: (82,0)-(82,3) = "%w[" │ └── closing_loc: (82,6)-(82,7) = "]" ├── @ IndexOperatorWriteNode (location: (84,0)-(84,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (84,0)-(84,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -964,10 +979,10 @@ │ ├── binary_operator_loc: (84,6)-(84,8) = "+=" │ └── value: │ @ IntegerNode (location: (84,9)-(84,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexOrWriteNode (location: (86,0)-(86,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (86,0)-(86,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -987,10 +1002,10 @@ │ ├── operator_loc: (86,6)-(86,9) = "||=" │ └── value: │ @ IntegerNode (location: (86,10)-(86,11)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexAndWriteNode (location: (88,0)-(88,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (88,0)-(88,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1010,10 +1025,10 @@ │ ├── operator_loc: (88,6)-(88,9) = "&&=" │ └── value: │ @ IntegerNode (location: (88,10)-(88,11)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexOperatorWriteNode (location: (90,0)-(90,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (90,0)-(90,7)) │ │ ├── flags: ∅ @@ -1044,10 +1059,10 @@ │ ├── binary_operator_loc: (90,10)-(90,12) = "+=" │ └── value: │ @ IntegerNode (location: (90,13)-(90,14)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexOrWriteNode (location: (92,0)-(92,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (92,0)-(92,7)) │ │ ├── flags: ∅ @@ -1077,10 +1092,10 @@ │ ├── operator_loc: (92,10)-(92,13) = "||=" │ └── value: │ @ IntegerNode (location: (92,14)-(92,15)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexAndWriteNode (location: (94,0)-(94,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (94,0)-(94,7)) │ │ ├── flags: ∅ @@ -1110,10 +1125,10 @@ │ ├── operator_loc: (94,10)-(94,13) = "&&=" │ └── value: │ @ IntegerNode (location: (94,14)-(94,15)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexOperatorWriteNode (location: (96,0)-(96,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (96,0)-(96,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1147,10 +1162,10 @@ │ ├── binary_operator_loc: (96,9)-(96,11) = "+=" │ └── value: │ @ IntegerNode (location: (96,12)-(96,13)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexOrWriteNode (location: (98,0)-(98,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (98,0)-(98,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1183,10 +1198,10 @@ │ ├── operator_loc: (98,9)-(98,12) = "||=" │ └── value: │ @ IntegerNode (location: (98,13)-(98,14)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexAndWriteNode (location: (100,0)-(100,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (100,0)-(100,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1219,10 +1234,10 @@ │ ├── operator_loc: (100,9)-(100,12) = "&&=" │ └── value: │ @ IntegerNode (location: (100,13)-(100,14)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexOperatorWriteNode (location: (102,0)-(102,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (102,0)-(102,7)) │ │ ├── flags: ∅ @@ -1266,10 +1281,10 @@ │ ├── binary_operator_loc: (102,13)-(102,15) = "+=" │ └── value: │ @ IntegerNode (location: (102,16)-(102,17)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexOrWriteNode (location: (104,0)-(104,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (104,0)-(104,7)) │ │ ├── flags: ∅ @@ -1312,10 +1327,10 @@ │ ├── operator_loc: (104,13)-(104,16) = "||=" │ └── value: │ @ IntegerNode (location: (104,17)-(104,18)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ IndexAndWriteNode (location: (106,0)-(106,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (106,0)-(106,7)) │ │ ├── flags: ∅ @@ -1358,14 +1373,16 @@ │ ├── operator_loc: (106,13)-(106,16) = "&&=" │ └── value: │ @ IntegerNode (location: (106,17)-(106,18)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ DefNode (location: (108,0)-(108,19)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (108,4)-(108,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (108,6)-(108,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -1380,9 +1397,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (108,10)-(108,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (108,10)-(108,14)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (108,10)-(108,11)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -1403,6 +1421,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SplatNode (location: (108,12)-(108,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (108,12)-(108,13) = "*" │ │ │ └── expression: ∅ │ │ ├── closing_loc: (108,13)-(108,14) = "]" @@ -1415,11 +1434,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (108,16)-(108,19) = "end" ├── @ DefNode (location: (110,0)-(110,22)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (110,4)-(110,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (110,6)-(110,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -1434,9 +1455,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (110,10)-(110,17)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (110,10)-(110,17)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (110,10)-(110,11)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -1457,9 +1479,10 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ IntegerNode (location: (110,12)-(110,13)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ SplatNode (location: (110,15)-(110,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (110,15)-(110,16) = "*" │ │ │ └── expression: ∅ │ │ ├── closing_loc: (110,16)-(110,17) = "]" @@ -1472,11 +1495,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (110,19)-(110,22) = "end" ├── @ DefNode (location: (112,0)-(112,23)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (112,4)-(112,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (112,6)-(112,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -1491,9 +1516,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (112,10)-(112,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (112,10)-(112,18)) - │ │ ├── flags: attribute_write + │ │ ├── flags: newline, attribute_write │ │ ├── receiver: │ │ │ @ CallNode (location: (112,10)-(112,11)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -1514,10 +1540,11 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ SplatNode (location: (112,12)-(112,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (112,12)-(112,13) = "*" │ │ │ │ └── expression: ∅ │ │ │ └── @ IntegerNode (location: (112,17)-(112,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: (112,13)-(112,14) = "]" │ │ └── block: ∅ @@ -1529,11 +1556,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (112,20)-(112,23) = "end" ├── @ DefNode (location: (114,0)-(114,26)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (114,4)-(114,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (114,6)-(114,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -1548,9 +1577,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (114,10)-(114,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (114,10)-(114,21)) - │ │ ├── flags: attribute_write + │ │ ├── flags: newline, attribute_write │ │ ├── receiver: │ │ │ @ CallNode (location: (114,10)-(114,11)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -1571,13 +1601,14 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 3) │ │ │ ├── @ IntegerNode (location: (114,12)-(114,13)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── @ SplatNode (location: (114,15)-(114,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (114,15)-(114,16) = "*" │ │ │ │ └── expression: ∅ │ │ │ └── @ IntegerNode (location: (114,20)-(114,21)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: (114,16)-(114,17) = "]" │ │ └── block: ∅ @@ -1589,11 +1620,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (114,23)-(114,26) = "end" ├── @ DefNode (location: (116,0)-(116,24)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (116,4)-(116,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (116,6)-(116,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -1608,9 +1641,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (116,10)-(116,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IndexOperatorWriteNode (location: (116,10)-(116,19)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (116,10)-(116,11)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -1629,6 +1663,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SplatNode (location: (116,12)-(116,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (116,12)-(116,13) = "*" │ │ │ └── expression: ∅ │ │ ├── closing_loc: (116,13)-(116,14) = "]" @@ -1637,7 +1672,7 @@ │ │ ├── binary_operator_loc: (116,15)-(116,17) = "+=" │ │ └── value: │ │ @ IntegerNode (location: (116,18)-(116,19)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── locals: [] │ ├── def_keyword_loc: (116,0)-(116,3) = "def" @@ -1647,11 +1682,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (116,21)-(116,24) = "end" ├── @ DefNode (location: (118,0)-(118,28)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (118,4)-(118,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (118,6)-(118,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -1666,9 +1703,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (118,10)-(118,23)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IndexAndWriteNode (location: (118,10)-(118,23)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (118,10)-(118,11)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -1687,9 +1725,10 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ IntegerNode (location: (118,12)-(118,13)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ SplatNode (location: (118,15)-(118,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (118,15)-(118,16) = "*" │ │ │ └── expression: ∅ │ │ ├── closing_loc: (118,16)-(118,17) = "]" @@ -1697,7 +1736,7 @@ │ │ ├── operator_loc: (118,18)-(118,21) = "&&=" │ │ └── value: │ │ @ IntegerNode (location: (118,22)-(118,23)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── locals: [] │ ├── def_keyword_loc: (118,0)-(118,3) = "def" @@ -1707,11 +1746,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (118,25)-(118,28) = "end" ├── @ DefNode (location: (120,0)-(120,29)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (120,4)-(120,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (120,6)-(120,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -1726,10 +1767,12 @@ │ │ └── block: ∅ │ ├── body: │ │ @ BeginNode (location: (120,0)-(120,29)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (120,10)-(120,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (120,10)-(120,16) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: (120,17)-(120,19) = "=>" @@ -1753,6 +1796,7 @@ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ └── @ SplatNode (location: (120,22)-(120,23)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── operator_loc: (120,22)-(120,23) = "*" │ │ │ │ │ └── expression: ∅ │ │ │ │ ├── closing_loc: (120,23)-(120,24) = "]" @@ -1770,11 +1814,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (120,26)-(120,29) = "end" └── @ DefNode (location: (122,0)-(122,32)) + ├── flags: newline ├── name: :f ├── name_loc: (122,4)-(122,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (122,6)-(122,7)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: @@ -1789,10 +1835,12 @@ │ └── block: ∅ ├── body: │ @ BeginNode (location: (122,0)-(122,32)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: ∅ │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (122,10)-(122,27)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (122,10)-(122,16) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: (122,17)-(122,19) = "=>" @@ -1816,9 +1864,10 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 2) │ │ │ │ ├── @ IntegerNode (location: (122,22)-(122,23)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── @ SplatNode (location: (122,25)-(122,26)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (122,25)-(122,26) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── closing_loc: (122,26)-(122,27) = "]" diff --git a/test/prism/snapshots/begin_ensure.txt b/test/prism/snapshots/begin_ensure.txt index 9af9b9e573..2f127cd11f 100644 --- a/test/prism/snapshots/begin_ensure.txt +++ b/test/prism/snapshots/begin_ensure.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(21,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(21,15)) + ├── flags: ∅ └── body: (length: 5) ├── @ BeginNode (location: (1,0)-(5,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (2,0)-(2,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,0)-(2,1)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -22,12 +26,14 @@ │ ├── else_clause: ∅ │ ├── ensure_clause: │ │ @ EnsureNode (location: (3,0)-(5,3)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (4,0)-(4,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (4,0)-(4,1)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -39,12 +45,14 @@ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ BeginNode (location: (7,0)-(7,24)) + │ ├── flags: newline │ ├── begin_keyword_loc: (7,0)-(7,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (7,7)-(7,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,7)-(7,8)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -57,12 +65,14 @@ │ ├── else_clause: ∅ │ ├── ensure_clause: │ │ @ EnsureNode (location: (7,10)-(7,24)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (7,10)-(7,16) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (7,18)-(7,19)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (7,18)-(7,19)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -74,12 +84,14 @@ │ │ └── end_keyword_loc: (7,21)-(7,24) = "end" │ └── end_keyword_loc: (7,21)-(7,24) = "end" ├── @ BeginNode (location: (9,0)-(11,4)) + │ ├── flags: newline │ ├── begin_keyword_loc: (9,0)-(9,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (9,6)-(9,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (9,6)-(9,7)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -92,12 +104,14 @@ │ ├── else_clause: ∅ │ ├── ensure_clause: │ │ @ EnsureNode (location: (10,1)-(11,4)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (10,1)-(10,7) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (10,8)-(10,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (10,8)-(10,9)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -109,12 +123,14 @@ │ │ └── end_keyword_loc: (11,1)-(11,4) = "end" │ └── end_keyword_loc: (11,1)-(11,4) = "end" ├── @ BeginNode (location: (13,0)-(13,22)) + │ ├── flags: newline │ ├── begin_keyword_loc: (13,0)-(13,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (13,6)-(13,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (13,6)-(13,7)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -127,12 +143,14 @@ │ ├── else_clause: ∅ │ ├── ensure_clause: │ │ @ EnsureNode (location: (13,9)-(13,22)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (13,9)-(13,15) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (13,16)-(13,17)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (13,16)-(13,17)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -144,20 +162,24 @@ │ │ └── end_keyword_loc: (13,19)-(13,22) = "end" │ └── end_keyword_loc: (13,19)-(13,22) = "end" └── @ BeginNode (location: (15,0)-(21,15)) + ├── flags: newline ├── begin_keyword_loc: (15,0)-(15,5) = "begin" ├── statements: │ @ StatementsNode (location: (15,6)-(21,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ BeginNode (location: (15,6)-(21,11)) + │ ├── flags: newline │ ├── begin_keyword_loc: (15,6)-(15,11) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (15,11)-(21,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (15,11)-(21,7)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ SymbolNode (location: (15,11)-(15,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (15,11)-(15,12) = ":" │ │ │ ├── value_loc: (15,12)-(15,13) = "s" │ │ │ ├── closing_loc: ∅ @@ -171,20 +193,24 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ BeginNode (location: (15,16)-(21,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── begin_keyword_loc: (15,16)-(15,21) = "begin" │ │ │ ├── statements: ∅ │ │ │ ├── rescue_clause: ∅ │ │ │ ├── else_clause: ∅ │ │ │ ├── ensure_clause: │ │ │ │ @ EnsureNode (location: (15,22)-(21,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── ensure_keyword_loc: (15,22)-(15,28) = "ensure" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (15,29)-(21,3)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (15,29)-(21,3)) - │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── receiver: │ │ │ │ │ │ @ ConstantReadNode (location: (15,29)-(15,35)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── name: :Module │ │ │ │ │ ├── call_operator_loc: (15,35)-(15,36) = "." │ │ │ │ │ ├── name: :new @@ -194,31 +220,39 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (15,40)-(21,3)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: │ │ │ │ │ │ @ StatementsNode (location: (16,2)-(20,5)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ BeginNode (location: (16,2)-(20,5)) + │ │ │ │ │ │ ├── flags: newline │ │ │ │ │ │ ├── begin_keyword_loc: (16,2)-(16,7) = "begin" │ │ │ │ │ │ ├── statements: │ │ │ │ │ │ │ @ StatementsNode (location: (17,4)-(17,9)) + │ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ │ └── @ BreakNode (location: (17,4)-(17,9)) + │ │ │ │ │ │ │ ├── flags: newline │ │ │ │ │ │ │ ├── arguments: ∅ │ │ │ │ │ │ │ └── keyword_loc: (17,4)-(17,9) = "break" │ │ │ │ │ │ ├── rescue_clause: ∅ │ │ │ │ │ │ ├── else_clause: ∅ │ │ │ │ │ │ ├── ensure_clause: │ │ │ │ │ │ │ @ EnsureNode (location: (18,4)-(20,5)) + │ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ │ ├── ensure_keyword_loc: (18,4)-(18,10) = "ensure" │ │ │ │ │ │ │ ├── statements: │ │ │ │ │ │ │ │ @ StatementsNode (location: (18,11)-(19,7)) + │ │ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ │ │ └── @ CallNode (location: (18,11)-(19,7)) - │ │ │ │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ │ │ │ ├── flags: newline │ │ │ │ │ │ │ │ ├── receiver: │ │ │ │ │ │ │ │ │ @ ConstantReadNode (location: (18,11)-(18,17)) + │ │ │ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ │ │ │ └── name: :Module │ │ │ │ │ │ │ │ ├── call_operator_loc: (18,17)-(18,18) = "." │ │ │ │ │ │ │ │ ├── name: :new @@ -228,6 +262,7 @@ │ │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ │ └── block: │ │ │ │ │ │ │ │ @ BlockNode (location: (18,22)-(19,7)) + │ │ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ │ │ ├── locals: [] │ │ │ │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ │ │ │ ├── body: ∅ diff --git a/test/prism/snapshots/begin_rescue.txt b/test/prism/snapshots/begin_rescue.txt index f624f85c07..087d7409e7 100644 --- a/test/prism/snapshots/begin_rescue.txt +++ b/test/prism/snapshots/begin_rescue.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(78,3)) +├── flags: ∅ ├── locals: [:ex] └── statements: @ StatementsNode (location: (1,0)-(78,3)) + ├── flags: ∅ └── body: (length: 17) ├── @ BeginNode (location: (1,0)-(1,33)) + │ ├── flags: newline │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (1,7)-(1,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,7)-(1,8)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -20,15 +24,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (1,10)-(1,19)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (1,10)-(1,16) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,18)-(1,19)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,18)-(1,19)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -40,12 +46,14 @@ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (1,21)-(1,33)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (1,21)-(1,25) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,27)-(1,28)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,27)-(1,28)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -58,12 +66,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (1,30)-(1,33) = "end" ├── @ BeginNode (location: (3,0)-(3,44)) + │ ├── flags: newline │ ├── begin_keyword_loc: (3,0)-(3,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (3,7)-(3,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,7)-(3,8)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -74,15 +84,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (3,10)-(3,19)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (3,10)-(3,16) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,18)-(3,19)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,18)-(3,19)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -94,12 +106,14 @@ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (3,21)-(3,36)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (3,21)-(3,25) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,27)-(3,28)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,27)-(3,28)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -111,12 +125,14 @@ │ │ └── end_keyword_loc: (3,30)-(3,36) = "ensure" │ ├── ensure_clause: │ │ @ EnsureNode (location: (3,30)-(3,44)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (3,30)-(3,36) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,38)-(3,39)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,38)-(3,39)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -128,12 +144,14 @@ │ │ └── end_keyword_loc: (3,41)-(3,44) = "end" │ └── end_keyword_loc: (3,41)-(3,44) = "end" ├── @ BeginNode (location: (5,0)-(7,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (5,0)-(5,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (6,0)-(6,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (6,0)-(6,1)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -147,12 +165,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (7,0)-(7,3) = "end" ├── @ BeginNode (location: (9,0)-(9,13)) + │ ├── flags: newline │ ├── begin_keyword_loc: (9,0)-(9,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (9,7)-(9,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (9,7)-(9,8)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -166,12 +186,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (9,10)-(9,13) = "end" ├── @ BeginNode (location: (11,0)-(12,4)) + │ ├── flags: newline │ ├── begin_keyword_loc: (11,0)-(11,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (11,6)-(11,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (11,6)-(11,7)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -185,12 +207,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (12,1)-(12,4) = "end" ├── @ BeginNode (location: (14,0)-(14,12)) + │ ├── flags: newline │ ├── begin_keyword_loc: (14,0)-(14,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (14,6)-(14,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (14,6)-(14,7)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -204,12 +228,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (14,9)-(14,12) = "end" ├── @ BeginNode (location: (16,0)-(24,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (16,0)-(16,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (17,0)-(17,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (17,0)-(17,1)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -220,15 +246,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (18,0)-(23,1)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (18,0)-(18,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (19,0)-(19,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (19,0)-(19,1)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -239,15 +267,17 @@ │ │ │ └── block: ∅ │ │ └── consequent: │ │ @ RescueNode (location: (20,0)-(23,1)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (20,0)-(20,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (21,0)-(21,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (21,0)-(21,1)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -258,15 +288,17 @@ │ │ │ └── block: ∅ │ │ └── consequent: │ │ @ RescueNode (location: (22,0)-(23,1)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (22,0)-(22,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (23,0)-(23,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (23,0)-(23,1)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -280,12 +312,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (24,0)-(24,3) = "end" ├── @ BeginNode (location: (26,0)-(32,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (26,0)-(26,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (27,2)-(27,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (27,2)-(27,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -296,20 +330,24 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (28,0)-(31,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (28,0)-(28,6) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (28,7)-(28,16)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Exception │ │ ├── operator_loc: (28,17)-(28,19) = "=>" │ │ ├── reference: │ │ │ @ LocalVariableTargetNode (location: (28,20)-(28,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :ex │ │ │ └── depth: 0 │ │ ├── statements: │ │ │ @ StatementsNode (location: (29,2)-(29,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (29,2)-(29,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -320,22 +358,27 @@ │ │ │ └── block: ∅ │ │ └── consequent: │ │ @ RescueNode (location: (30,0)-(31,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (30,0)-(30,6) = "rescue" │ │ ├── exceptions: (length: 2) │ │ │ ├── @ ConstantReadNode (location: (30,7)-(30,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :AnotherException │ │ │ └── @ ConstantReadNode (location: (30,25)-(30,41)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :OneMoreException │ │ ├── operator_loc: (30,42)-(30,44) = "=>" │ │ ├── reference: │ │ │ @ LocalVariableTargetNode (location: (30,45)-(30,47)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :ex │ │ │ └── depth: 0 │ │ ├── statements: │ │ │ @ StatementsNode (location: (31,2)-(31,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (31,2)-(31,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -349,12 +392,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (32,0)-(32,3) = "end" ├── @ BeginNode (location: (34,0)-(40,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (34,0)-(34,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (35,2)-(35,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (35,2)-(35,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -365,20 +410,24 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (36,0)-(37,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (36,0)-(36,6) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (36,7)-(36,16)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Exception │ │ ├── operator_loc: (36,17)-(36,19) = "=>" │ │ ├── reference: │ │ │ @ LocalVariableTargetNode (location: (36,20)-(36,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :ex │ │ │ └── depth: 0 │ │ ├── statements: │ │ │ @ StatementsNode (location: (37,2)-(37,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (37,2)-(37,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -391,12 +440,14 @@ │ ├── else_clause: ∅ │ ├── ensure_clause: │ │ @ EnsureNode (location: (38,0)-(40,3)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (38,0)-(38,6) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (39,2)-(39,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (39,2)-(39,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -408,18 +459,20 @@ │ │ └── end_keyword_loc: (40,0)-(40,3) = "end" │ └── end_keyword_loc: (40,0)-(40,3) = "end" ├── @ StringNode (location: (42,0)-(42,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (42,0)-(42,2) = "%!" │ ├── content_loc: (42,2)-(42,5) = "abc" │ ├── closing_loc: (42,5)-(42,6) = "!" │ └── unescaped: "abc" ├── @ BeginNode (location: (44,0)-(48,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (44,0)-(44,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (45,0)-(45,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (45,0)-(45,1)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -430,15 +483,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (46,0)-(47,1)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (46,0)-(46,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (47,0)-(47,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (47,0)-(47,1)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -452,12 +507,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (48,0)-(48,3) = "end" ├── @ BeginNode (location: (50,0)-(50,20)) + │ ├── flags: newline │ ├── begin_keyword_loc: (50,0)-(50,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (50,6)-(50,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (50,6)-(50,7)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -468,15 +525,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (50,8)-(50,16)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (50,8)-(50,14) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (50,15)-(50,16)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (50,15)-(50,16)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -490,12 +549,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (50,17)-(50,20) = "end" ├── @ BeginNode (location: (52,0)-(54,5)) + │ ├── flags: newline │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (53,0)-(53,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (53,0)-(53,1)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -506,15 +567,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (53,2)-(54,1)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (53,2)-(53,8) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (54,0)-(54,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (54,0)-(54,1)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -528,12 +591,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (54,2)-(54,5) = "end" ├── @ BeginNode (location: (56,0)-(60,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (56,0)-(56,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (57,0)-(57,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (57,0)-(57,1)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -544,17 +609,20 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (58,0)-(59,1)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (58,0)-(58,6) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (58,7)-(58,16)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Exception │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (59,0)-(59,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (59,0)-(59,1)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -568,12 +636,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (60,0)-(60,3) = "end" ├── @ BeginNode (location: (62,0)-(66,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (62,0)-(62,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (63,0)-(63,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (63,0)-(63,1)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -584,19 +654,23 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (64,0)-(65,1)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue" │ │ ├── exceptions: (length: 2) │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Exception │ │ │ └── @ ConstantReadNode (location: (64,18)-(64,33)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :CustomException │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (65,0)-(65,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (65,0)-(65,1)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -610,12 +684,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (66,0)-(66,3) = "end" ├── @ BeginNode (location: (68,0)-(72,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (68,0)-(68,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (69,2)-(69,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (69,2)-(69,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -626,22 +702,27 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (70,0)-(71,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (70,0)-(70,6) = "rescue" │ │ ├── exceptions: (length: 2) │ │ │ ├── @ ConstantReadNode (location: (70,7)-(70,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Exception │ │ │ └── @ ConstantReadNode (location: (70,18)-(70,33)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :CustomException │ │ ├── operator_loc: (70,34)-(70,36) = "=>" │ │ ├── reference: │ │ │ @ LocalVariableTargetNode (location: (70,37)-(70,39)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :ex │ │ │ └── depth: 0 │ │ ├── statements: │ │ │ @ StatementsNode (location: (71,2)-(71,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (71,2)-(71,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -655,12 +736,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (72,0)-(72,3) = "end" └── @ BeginNode (location: (74,0)-(78,3)) + ├── flags: newline ├── begin_keyword_loc: (74,0)-(74,5) = "begin" ├── statements: │ @ StatementsNode (location: (75,2)-(75,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (75,2)-(75,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -671,20 +754,24 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (76,0)-(77,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (76,0)-(76,6) = "rescue" │ ├── exceptions: (length: 1) │ │ └── @ ConstantReadNode (location: (76,7)-(76,16)) + │ │ ├── flags: ∅ │ │ └── name: :Exception │ ├── operator_loc: (76,17)-(76,19) = "=>" │ ├── reference: │ │ @ LocalVariableTargetNode (location: (76,20)-(76,22)) + │ │ ├── flags: ∅ │ │ ├── name: :ex │ │ └── depth: 0 │ ├── statements: │ │ @ StatementsNode (location: (77,2)-(77,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (77,2)-(77,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b diff --git a/test/prism/snapshots/blocks.txt b/test/prism/snapshots/blocks.txt index 1c996ebd09..933de3e7be 100644 --- a/test/prism/snapshots/blocks.txt +++ b/test/prism/snapshots/blocks.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(54,17)) +├── flags: ∅ ├── locals: [:fork] └── statements: @ StatementsNode (location: (1,0)-(54,17)) + ├── flags: ∅ └── body: (length: 20) ├── @ CallNode (location: (1,0)-(1,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -37,13 +39,15 @@ │ ├── closing_loc: (1,7)-(1,8) = "]" │ └── block: │ @ BlockNode (location: (1,9)-(1,16)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,11)-(1,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,11)-(1,14)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -55,7 +59,7 @@ │ ├── opening_loc: (1,9)-(1,10) = "{" │ └── closing_loc: (1,15)-(1,16) = "}" ├── @ CallNode (location: (3,0)-(5,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -88,13 +92,15 @@ │ ├── closing_loc: (3,7)-(3,8) = "]" │ └── block: │ @ BlockNode (location: (3,9)-(5,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (4,0)-(4,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (4,0)-(4,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -106,7 +112,7 @@ │ ├── opening_loc: (3,9)-(3,11) = "do" │ └── closing_loc: (5,0)-(5,3) = "end" ├── @ CallNode (location: (7,0)-(7,35)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -127,16 +133,19 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (7,9)-(7,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ ├── closing_loc: (7,10)-(7,11) = ")" │ └── block: │ @ BlockNode (location: (7,12)-(7,35)) + │ ├── flags: ∅ │ ├── locals: [:x, :memo] │ ├── parameters: │ │ @ BlockParametersNode (location: (7,14)-(7,23)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (7,15)-(7,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (7,15)-(7,16)) │ │ │ │ │ ├── flags: ∅ @@ -155,12 +164,15 @@ │ │ └── closing_loc: (7,22)-(7,23) = "|" │ ├── body: │ │ @ StatementsNode (location: (7,24)-(7,33)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableOperatorWriteNode (location: (7,24)-(7,33)) + │ │ ├── flags: newline │ │ ├── name_loc: (7,24)-(7,28) = "memo" │ │ ├── binary_operator_loc: (7,29)-(7,31) = "+=" │ │ ├── value: │ │ │ @ LocalVariableReadNode (location: (7,32)-(7,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :x │ │ │ └── depth: 0 │ │ ├── name: :memo @@ -169,7 +181,7 @@ │ ├── opening_loc: (7,12)-(7,13) = "{" │ └── closing_loc: (7,34)-(7,35) = "}" ├── @ CallNode (location: (9,0)-(9,10)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -179,13 +191,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (9,4)-(9,10)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (9,4)-(9,6) = "do" │ └── closing_loc: (9,7)-(9,10) = "end" ├── @ CallNode (location: (11,0)-(11,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -206,11 +219,13 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ ParenthesesNode (location: (11,9)-(11,21)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (11,10)-(11,20)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (11,10)-(11,20)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -220,6 +235,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (11,14)-(11,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -230,7 +246,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (13,0)-(13,14)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -253,13 +269,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (13,8)-(13,14)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (13,8)-(13,10) = "do" │ └── closing_loc: (13,11)-(13,14) = "end" ├── @ CallNode (location: (15,0)-(15,18)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -295,13 +312,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (15,12)-(15,18)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (15,12)-(15,14) = "do" │ └── closing_loc: (15,15)-(15,18) = "end" ├── @ CallNode (location: (17,0)-(18,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -311,11 +329,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (17,4)-(18,3)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (17,7)-(17,17)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (17,8)-(17,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 1) │ │ │ │ └── @ OptionalParameterNode (location: (17,8)-(17,16)) @@ -346,7 +367,7 @@ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (17,14)-(17,15)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── closing_loc: (17,15)-(17,16) = "]" │ │ │ │ └── block: ∅ @@ -362,7 +383,7 @@ │ ├── opening_loc: (17,4)-(17,6) = "do" │ └── closing_loc: (18,0)-(18,3) = "end" ├── @ CallNode (location: (20,0)-(22,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -372,14 +393,17 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (20,4)-(22,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (20,4)-(22,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (21,0)-(21,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (21,0)-(21,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -392,7 +416,7 @@ │ ├── opening_loc: (20,4)-(20,6) = "do" │ └── closing_loc: (22,0)-(22,3) = "end" ├── @ CallNode (location: (24,0)-(29,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -402,13 +426,15 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (24,4)-(29,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (25,2)-(28,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (25,2)-(28,5)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -418,13 +444,15 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (25,6)-(28,5)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (26,4)-(27,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (26,4)-(27,7)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -434,6 +462,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (26,8)-(27,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -444,7 +473,7 @@ │ ├── opening_loc: (24,4)-(24,6) = "do" │ └── closing_loc: (29,0)-(29,3) = "end" ├── @ CallNode (location: (31,0)-(31,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (31,0)-(31,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -477,13 +506,15 @@ │ ├── closing_loc: (31,7)-(31,8) = "]" │ └── block: │ @ BlockNode (location: (31,9)-(31,16)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (31,11)-(31,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (31,11)-(31,14)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -495,7 +526,7 @@ │ ├── opening_loc: (31,9)-(31,10) = "{" │ └── closing_loc: (31,15)-(31,16) = "}" ├── @ CallNode (location: (33,0)-(33,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -505,11 +536,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (33,4)-(33,24)) + │ ├── flags: ∅ │ ├── locals: [:x, :y, :z] │ ├── parameters: │ │ @ BlockParametersNode (location: (33,6)-(33,20)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (33,7)-(33,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (33,7)-(33,8)) │ │ │ │ ├── flags: ∅ @@ -522,7 +556,7 @@ │ │ │ │ ├── operator_loc: (33,12)-(33,13) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (33,14)-(33,15)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) @@ -538,14 +572,16 @@ │ │ └── closing_loc: (33,19)-(33,20) = "|" │ ├── body: │ │ @ StatementsNode (location: (33,21)-(33,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (33,21)-(33,22)) + │ │ ├── flags: newline │ │ ├── name: :x │ │ └── depth: 0 │ ├── opening_loc: (33,4)-(33,5) = "{" │ └── closing_loc: (33,23)-(33,24) = "}" ├── @ CallNode (location: (35,0)-(35,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -555,11 +591,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (35,4)-(35,11)) + │ ├── flags: ∅ │ ├── locals: [:x] │ ├── parameters: │ │ @ BlockParametersNode (location: (35,6)-(35,9)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (35,7)-(35,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (35,7)-(35,8)) │ │ │ │ ├── flags: ∅ @@ -577,16 +616,17 @@ │ ├── opening_loc: (35,4)-(35,5) = "{" │ └── closing_loc: (35,10)-(35,11) = "}" ├── @ LocalVariableWriteNode (location: (37,0)-(37,8)) + │ ├── flags: newline │ ├── name: :fork │ ├── depth: 0 │ ├── name_loc: (37,0)-(37,4) = "fork" │ ├── value: │ │ @ IntegerNode (location: (37,7)-(37,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (37,5)-(37,6) = "=" ├── @ CallNode (location: (38,0)-(39,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fork @@ -596,11 +636,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (38,5)-(39,3)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (38,8)-(38,11)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (38,9)-(38,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (38,9)-(38,10)) │ │ │ │ ├── flags: ∅ @@ -618,7 +661,7 @@ │ ├── opening_loc: (38,5)-(38,7) = "do" │ └── closing_loc: (39,0)-(39,3) = "end" ├── @ CallNode (location: (41,0)-(41,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fork @@ -628,11 +671,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (41,5)-(41,12)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (41,7)-(41,10)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (41,8)-(41,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (41,8)-(41,9)) │ │ │ │ ├── flags: ∅ @@ -650,7 +696,7 @@ │ ├── opening_loc: (41,5)-(41,6) = "{" │ └── closing_loc: (41,11)-(41,12) = "}" ├── @ CallNode (location: (43,0)-(44,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :C @@ -660,13 +706,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (43,2)-(44,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (43,2)-(43,4) = "do" │ └── closing_loc: (44,0)-(44,3) = "end" ├── @ CallNode (location: (46,0)-(46,4)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :C @@ -676,13 +723,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (46,2)-(46,4)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (46,2)-(46,3) = "{" │ └── closing_loc: (46,3)-(46,4) = "}" ├── @ CallNode (location: (48,0)-(52,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -703,11 +751,14 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (48,11)-(52,1)) + │ │ ├── flags: ∅ │ │ ├── locals: [:a, :b] │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (48,13)-(51,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (49,2)-(50,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 0) │ │ │ │ ├── optionals: (length: 0) │ │ │ │ ├── rest: ∅ @@ -719,7 +770,7 @@ │ │ │ │ │ │ ├── name_loc: (49,2)-(49,4) = "a:" │ │ │ │ │ │ └── value: │ │ │ │ │ │ @ IntegerNode (location: (49,5)-(49,6)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 1 │ │ │ │ │ └── @ OptionalKeywordParameterNode (location: (50,2)-(50,6)) │ │ │ │ │ ├── flags: ∅ @@ -727,7 +778,7 @@ │ │ │ │ │ ├── name_loc: (50,2)-(50,4) = "b:" │ │ │ │ │ └── value: │ │ │ │ │ @ IntegerNode (location: (50,5)-(50,6)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ ├── keyword_rest: ∅ │ │ │ │ └── block: ∅ @@ -740,7 +791,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (54,0)-(54,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -750,11 +801,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (54,4)-(54,17)) + ├── flags: ∅ ├── locals: [:bar] ├── parameters: │ @ BlockParametersNode (location: (54,7)-(54,13)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (54,8)-(54,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (54,8)-(54,11)) │ │ │ ├── flags: ∅ @@ -762,6 +816,7 @@ │ │ ├── optionals: (length: 0) │ │ ├── rest: │ │ │ @ ImplicitRestNode (location: (54,11)-(54,12)) + │ │ │ └── flags: ∅ │ │ ├── posts: (length: 0) │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: ∅ diff --git a/test/prism/snapshots/boolean_operators.txt b/test/prism/snapshots/boolean_operators.txt index 3bf33430c9..bde70d6509 100644 --- a/test/prism/snapshots/boolean_operators.txt +++ b/test/prism/snapshots/boolean_operators.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(5,7)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(5,7)) + ├── flags: ∅ └── body: (length: 3) ├── @ LocalVariableAndWriteNode (location: (1,0)-(1,7)) + │ ├── flags: newline │ ├── name_loc: (1,0)-(1,1) = "a" │ ├── operator_loc: (1,2)-(1,5) = "&&=" │ ├── value: @@ -20,6 +23,7 @@ │ ├── name: :a │ └── depth: 0 ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,6)) + │ ├── flags: newline │ ├── name_loc: (3,0)-(3,1) = "a" │ ├── binary_operator_loc: (3,2)-(3,4) = "+=" │ ├── value: @@ -37,6 +41,7 @@ │ ├── binary_operator: :+ │ └── depth: 0 └── @ LocalVariableOrWriteNode (location: (5,0)-(5,7)) + ├── flags: newline ├── name_loc: (5,0)-(5,1) = "a" ├── operator_loc: (5,2)-(5,5) = "||=" ├── value: diff --git a/test/prism/snapshots/booleans.txt b/test/prism/snapshots/booleans.txt index 4731966243..47ce80217a 100644 --- a/test/prism/snapshots/booleans.txt +++ b/test/prism/snapshots/booleans.txt @@ -1,7 +1,11 @@ @ ProgramNode (location: (1,0)-(3,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ FalseNode (location: (1,0)-(1,5)) + │ └── flags: newline, static_literal └── @ TrueNode (location: (3,0)-(3,4)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/break.txt b/test/prism/snapshots/break.txt index 7d5bf5e69a..469b603f84 100644 --- a/test/prism/snapshots/break.txt +++ b/test/prism/snapshots/break.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(29,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(29,21)) + ├── flags: ∅ └── body: (length: 13) ├── @ CallNode (location: (1,0)-(1,13)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -14,18 +16,21 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,4)-(1,13)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,6)-(1,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (1,6)-(1,11)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (1,6)-(1,11) = "break" │ ├── opening_loc: (1,4)-(1,5) = "{" │ └── closing_loc: (1,12)-(1,13) = "}" ├── @ CallNode (location: (3,0)-(3,27)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -35,40 +40,49 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,4)-(3,27)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,6)-(3,25)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (3,6)-(3,25)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,12)-(3,25)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 3) │ │ │ ├── @ ParenthesesNode (location: (3,12)-(3,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (3,13)-(3,14)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (3,13)-(3,14)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── opening_loc: (3,12)-(3,13) = "(" │ │ │ │ └── closing_loc: (3,14)-(3,15) = ")" │ │ │ ├── @ ParenthesesNode (location: (3,17)-(3,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (3,18)-(3,19)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (3,18)-(3,19)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ ├── opening_loc: (3,17)-(3,18) = "(" │ │ │ │ └── closing_loc: (3,19)-(3,20) = ")" │ │ │ └── @ ParenthesesNode (location: (3,22)-(3,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (3,23)-(3,24)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (3,23)-(3,24)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 3 │ │ │ ├── opening_loc: (3,22)-(3,23) = "(" │ │ │ └── closing_loc: (3,24)-(3,25) = ")" @@ -76,7 +90,7 @@ │ ├── opening_loc: (3,4)-(3,5) = "{" │ └── closing_loc: (3,26)-(3,27) = "}" ├── @ CallNode (location: (5,0)-(5,15)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -86,24 +100,27 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,4)-(5,15)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,6)-(5,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (5,6)-(5,13)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,12)-(5,13)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (5,12)-(5,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── keyword_loc: (5,6)-(5,11) = "break" │ ├── opening_loc: (5,4)-(5,5) = "{" │ └── closing_loc: (5,14)-(5,15) = "}" ├── @ CallNode (location: (7,0)-(8,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -113,30 +130,33 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (7,4)-(8,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,6)-(8,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (7,6)-(8,1)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (7,12)-(8,1)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 3) │ │ │ ├── @ IntegerNode (location: (7,12)-(7,13)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── @ IntegerNode (location: (7,15)-(7,16)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ IntegerNode (location: (8,0)-(8,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ └── keyword_loc: (7,6)-(7,11) = "break" │ ├── opening_loc: (7,4)-(7,5) = "{" │ └── closing_loc: (8,2)-(8,3) = "}" ├── @ CallNode (location: (10,0)-(10,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -146,30 +166,33 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (10,4)-(10,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (10,6)-(10,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (10,6)-(10,19)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (10,12)-(10,19)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 3) │ │ │ ├── @ IntegerNode (location: (10,12)-(10,13)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── @ IntegerNode (location: (10,15)-(10,16)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ IntegerNode (location: (10,18)-(10,19)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ └── keyword_loc: (10,6)-(10,11) = "break" │ ├── opening_loc: (10,4)-(10,5) = "{" │ └── closing_loc: (10,20)-(10,21) = "}" ├── @ CallNode (location: (12,0)-(12,23)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -179,27 +202,30 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (12,4)-(12,23)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (12,6)-(12,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (12,6)-(12,21)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (12,12)-(12,21)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ArrayNode (location: (12,12)-(12,21)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 3) │ │ │ │ ├── @ IntegerNode (location: (12,13)-(12,14)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── @ IntegerNode (location: (12,16)-(12,17)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ └── @ IntegerNode (location: (12,19)-(12,20)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 3 │ │ │ ├── opening_loc: (12,12)-(12,13) = "[" │ │ │ └── closing_loc: (12,20)-(12,21) = "]" @@ -207,7 +233,7 @@ │ ├── opening_loc: (12,4)-(12,5) = "{" │ └── closing_loc: (12,22)-(12,23) = "}" ├── @ CallNode (location: (14,0)-(17,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -217,25 +243,30 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (14,4)-(17,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (14,6)-(17,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (14,6)-(17,1)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (14,11)-(17,1)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ParenthesesNode (location: (14,11)-(17,1)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (15,2)-(16,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 2) │ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── opening_loc: (14,11)-(14,12) = "(" │ │ │ └── closing_loc: (17,0)-(17,1) = ")" @@ -243,7 +274,7 @@ │ ├── opening_loc: (14,4)-(14,5) = "{" │ └── closing_loc: (17,2)-(17,3) = "}" ├── @ CallNode (location: (19,0)-(19,15)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -253,17 +284,21 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (19,4)-(19,15)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (19,6)-(19,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (19,6)-(19,13)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (19,11)-(19,13)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ParenthesesNode (location: (19,11)-(19,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (19,11)-(19,12) = "(" │ │ │ └── closing_loc: (19,12)-(19,13) = ")" @@ -271,7 +306,7 @@ │ ├── opening_loc: (19,4)-(19,5) = "{" │ └── closing_loc: (19,14)-(19,15) = "}" ├── @ CallNode (location: (21,0)-(21,16)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -281,22 +316,27 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (21,4)-(21,16)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (21,6)-(21,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (21,6)-(21,14)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (21,11)-(21,14)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ParenthesesNode (location: (21,11)-(21,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (21,12)-(21,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (21,12)-(21,13)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── opening_loc: (21,11)-(21,12) = "(" │ │ │ └── closing_loc: (21,13)-(21,14) = ")" @@ -304,7 +344,7 @@ │ ├── opening_loc: (21,4)-(21,5) = "{" │ └── closing_loc: (21,15)-(21,16) = "}" ├── @ CallNode (location: (23,0)-(23,22)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,16)) │ │ ├── flags: ignore_visibility @@ -317,18 +357,21 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (23,4)-(23,16)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (23,6)-(23,14)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ BreakNode (location: (23,6)-(23,14)) + │ │ │ ├── flags: newline │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (23,12)-(23,14)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (23,12)-(23,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ └── keyword_loc: (23,6)-(23,11) = "break" │ │ ├── opening_loc: (23,4)-(23,5) = "{" @@ -342,12 +385,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (23,20)-(23,22)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,23)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (25,0)-(25,17)) │ │ ├── flags: ignore_visibility @@ -360,11 +403,14 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (25,4)-(25,17)) + │ │ ├── flags: ∅ │ │ ├── locals: [:a] │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (25,6)-(25,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (25,7)-(25,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (25,7)-(25,8)) │ │ │ │ │ ├── flags: ∅ @@ -380,8 +426,10 @@ │ │ │ └── closing_loc: (25,8)-(25,9) = "|" │ │ ├── body: │ │ │ @ StatementsNode (location: (25,10)-(25,15)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ BreakNode (location: (25,10)-(25,15)) + │ │ │ ├── flags: newline │ │ │ ├── arguments: ∅ │ │ │ └── keyword_loc: (25,10)-(25,15) = "break" │ │ ├── opening_loc: (25,4)-(25,5) = "{" @@ -395,16 +443,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (25,21)-(25,23)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ WhileNode (location: (27,0)-(27,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (27,0)-(27,5) = "while" │ ├── closing_loc: (27,18)-(27,21) = "end" │ ├── predicate: │ │ @ AndNode (location: (27,6)-(27,16)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ CallNode (location: (27,6)-(27,7)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -418,16 +467,18 @@ │ │ │ └── block: ∅ │ │ ├── right: │ │ │ @ BreakNode (location: (27,11)-(27,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── arguments: ∅ │ │ │ └── keyword_loc: (27,11)-(27,16) = "break" │ │ └── operator_loc: (27,8)-(27,10) = "&&" │ └── statements: ∅ └── @ UntilNode (location: (29,0)-(29,21)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (29,0)-(29,5) = "until" ├── closing_loc: (29,18)-(29,21) = "end" ├── predicate: │ @ AndNode (location: (29,6)-(29,16)) + │ ├── flags: ∅ │ ├── left: │ │ @ CallNode (location: (29,6)-(29,7)) │ │ ├── flags: variable_call, ignore_visibility @@ -441,6 +492,7 @@ │ │ └── block: ∅ │ ├── right: │ │ @ BreakNode (location: (29,11)-(29,16)) + │ │ ├── flags: ∅ │ │ ├── arguments: ∅ │ │ └── keyword_loc: (29,11)-(29,16) = "break" │ └── operator_loc: (29,8)-(29,10) = "&&" diff --git a/test/prism/snapshots/case.txt b/test/prism/snapshots/case.txt index 417bf9492a..14a2f79e45 100644 --- a/test/prism/snapshots/case.txt +++ b/test/prism/snapshots/case.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(55,3)) +├── flags: ∅ ├── locals: [:b] └── statements: @ StatementsNode (location: (1,0)-(55,3)) + ├── flags: ∅ └── body: (length: 15) ├── @ CaseNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (1,5)-(1,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,5)-(1,6) = ":" │ │ ├── value_loc: (1,6)-(1,8) = "hi" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "hi" │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (2,0)-(2,8)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (2,0)-(2,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ SymbolNode (location: (2,5)-(2,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (2,5)-(2,6) = ":" │ │ │ ├── value_loc: (2,6)-(2,8) = "hi" │ │ │ ├── closing_loc: ∅ @@ -27,19 +31,24 @@ │ ├── case_keyword_loc: (1,0)-(1,4) = "case" │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ CaseNode (location: (5,0)-(5,58)) + │ ├── flags: newline │ ├── predicate: │ │ @ TrueNode (location: (5,5)-(5,9)) + │ │ └── flags: static_literal │ ├── conditions: (length: 2) │ │ ├── @ WhenNode (location: (5,11)-(5,30)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (5,11)-(5,15) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ TrueNode (location: (5,16)-(5,20)) + │ │ │ │ └── flags: static_literal │ │ │ ├── then_keyword_loc: ∅ │ │ │ └── statements: │ │ │ @ StatementsNode (location: (5,22)-(5,30)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (5,22)-(5,30)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :puts @@ -50,7 +59,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ SymbolNode (location: (5,27)-(5,30)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (5,27)-(5,28) = ":" │ │ │ │ ├── value_loc: (5,28)-(5,30) = "hi" │ │ │ │ ├── closing_loc: ∅ @@ -58,15 +67,18 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ WhenNode (location: (5,32)-(5,53)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (5,32)-(5,36) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ FalseNode (location: (5,37)-(5,42)) + │ │ │ └── flags: static_literal │ │ ├── then_keyword_loc: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (5,44)-(5,53)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,44)-(5,53)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -77,7 +89,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SymbolNode (location: (5,49)-(5,53)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (5,49)-(5,50) = ":" │ │ │ ├── value_loc: (5,50)-(5,53) = "bye" │ │ │ ├── closing_loc: ∅ @@ -88,12 +100,15 @@ │ ├── case_keyword_loc: (5,0)-(5,4) = "case" │ └── end_keyword_loc: (5,55)-(5,58) = "end" ├── @ CaseNode (location: (7,0)-(7,20)) + │ ├── flags: newline │ ├── predicate: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (7,6)-(7,15)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (7,6)-(7,10) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ SplatNode (location: (7,11)-(7,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (7,11)-(7,12) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (7,12)-(7,15)) @@ -112,19 +127,21 @@ │ ├── case_keyword_loc: (7,0)-(7,4) = "case" │ └── end_keyword_loc: (7,17)-(7,20) = "end" ├── @ CaseNode (location: (9,0)-(13,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (9,5)-(9,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (9,5)-(9,6) = ":" │ │ ├── value_loc: (9,6)-(9,8) = "hi" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "hi" │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (10,0)-(10,8)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (10,0)-(10,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ SymbolNode (location: (10,5)-(10,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (10,5)-(10,6) = ":" │ │ │ ├── value_loc: (10,6)-(10,8) = "hi" │ │ │ ├── closing_loc: ∅ @@ -133,12 +150,14 @@ │ │ └── statements: ∅ │ ├── consequent: │ │ @ ElseNode (location: (11,0)-(13,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (11,0)-(11,4) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (12,0)-(12,2)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (12,0)-(12,2)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (12,0)-(12,1) = ":" │ │ │ ├── value_loc: (12,1)-(12,2) = "b" │ │ │ ├── closing_loc: ∅ @@ -147,6 +166,7 @@ │ ├── case_keyword_loc: (9,0)-(9,4) = "case" │ └── end_keyword_loc: (13,0)-(13,3) = "end" ├── @ CaseNode (location: (15,0)-(15,36)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (15,5)-(15,9)) │ │ ├── flags: variable_call, ignore_visibility @@ -160,11 +180,14 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (15,11)-(15,31)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (15,11)-(15,15) = "when" │ │ ├── conditions: (length: 2) │ │ │ ├── @ ConstantReadNode (location: (15,16)-(15,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :FooBar │ │ │ └── @ ConstantReadNode (location: (15,24)-(15,31)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :BazBonk │ │ ├── then_keyword_loc: ∅ │ │ └── statements: ∅ @@ -172,9 +195,11 @@ │ ├── case_keyword_loc: (15,0)-(15,4) = "case" │ └── end_keyword_loc: (15,33)-(15,36) = "end" ├── @ CaseNode (location: (17,0)-(19,3)) + │ ├── flags: newline │ ├── predicate: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (18,0)-(18,15)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (18,0)-(18,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (18,5)-(18,15)) @@ -216,9 +241,11 @@ │ ├── case_keyword_loc: (17,0)-(17,4) = "case" │ └── end_keyword_loc: (19,0)-(19,3) = "end" ├── @ CaseNode (location: (21,0)-(25,3)) + │ ├── flags: newline │ ├── predicate: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (22,0)-(22,6)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (22,0)-(22,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (22,5)-(22,6)) @@ -235,12 +262,14 @@ │ │ └── statements: ∅ │ ├── consequent: │ │ @ ElseNode (location: (23,0)-(25,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (23,0)-(23,4) = "else" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (25,0)-(25,3) = "end" │ ├── case_keyword_loc: (21,0)-(21,4) = "case" │ └── end_keyword_loc: (25,0)-(25,3) = "end" ├── @ CaseNode (location: (27,0)-(30,6)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (27,5)-(27,9)) │ │ ├── flags: variable_call, ignore_visibility @@ -254,10 +283,11 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (28,3)-(28,10)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (28,3)-(28,7) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ SymbolNode (location: (28,8)-(28,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (28,8)-(28,9) = ":" │ │ │ ├── value_loc: (28,9)-(28,10) = "b" │ │ │ ├── closing_loc: ∅ @@ -266,19 +296,22 @@ │ │ └── statements: ∅ │ ├── consequent: │ │ @ ElseNode (location: (29,5)-(30,6)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (29,5)-(29,9) = "else" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (30,3)-(30,6) = "end" │ ├── case_keyword_loc: (27,0)-(27,4) = "case" │ └── end_keyword_loc: (30,3)-(30,6) = "end" ├── @ CaseNode (location: (32,0)-(32,25)) + │ ├── flags: newline │ ├── predicate: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (32,14)-(32,20)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (32,14)-(32,18) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ IntegerNode (location: (32,19)-(32,20)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── then_keyword_loc: ∅ │ │ └── statements: ∅ @@ -286,23 +319,26 @@ │ ├── case_keyword_loc: (32,0)-(32,4) = "case" │ └── end_keyword_loc: (32,22)-(32,25) = "end" ├── @ CaseNode (location: (34,0)-(36,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ MatchPredicateNode (location: (34,5)-(34,11)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ IntegerNode (location: (34,5)-(34,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── pattern: │ │ │ @ IntegerNode (location: (34,10)-(34,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (34,7)-(34,9) = "in" │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (35,0)-(35,6)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (35,0)-(35,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ IntegerNode (location: (35,5)-(35,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── then_keyword_loc: ∅ │ │ └── statements: ∅ @@ -310,23 +346,26 @@ │ ├── case_keyword_loc: (34,0)-(34,4) = "case" │ └── end_keyword_loc: (36,0)-(36,3) = "end" ├── @ CaseNode (location: (38,0)-(38,24)) + │ ├── flags: newline │ ├── predicate: │ │ @ MatchPredicateNode (location: (38,5)-(38,11)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ IntegerNode (location: (38,5)-(38,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── pattern: │ │ │ @ IntegerNode (location: (38,10)-(38,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (38,7)-(38,9) = "in" │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (38,13)-(38,19)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (38,13)-(38,17) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ IntegerNode (location: (38,18)-(38,19)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── then_keyword_loc: ∅ │ │ └── statements: ∅ @@ -334,22 +373,25 @@ │ ├── case_keyword_loc: (38,0)-(38,4) = "case" │ └── end_keyword_loc: (38,21)-(38,24) = "end" ├── @ CaseMatchNode (location: (40,0)-(42,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ MatchPredicateNode (location: (40,5)-(40,11)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ IntegerNode (location: (40,5)-(40,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── pattern: │ │ │ @ IntegerNode (location: (40,10)-(40,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (40,7)-(40,9) = "in" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (41,0)-(41,4)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IntegerNode (location: (41,3)-(41,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── statements: ∅ │ │ ├── in_loc: (41,0)-(41,2) = "in" @@ -358,22 +400,25 @@ │ ├── case_keyword_loc: (40,0)-(40,4) = "case" │ └── end_keyword_loc: (42,0)-(42,3) = "end" ├── @ CaseMatchNode (location: (44,0)-(44,22)) + │ ├── flags: newline │ ├── predicate: │ │ @ MatchPredicateNode (location: (44,5)-(44,11)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ IntegerNode (location: (44,5)-(44,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── pattern: │ │ │ @ IntegerNode (location: (44,10)-(44,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (44,7)-(44,9) = "in" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (44,13)-(44,17)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IntegerNode (location: (44,16)-(44,17)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── statements: ∅ │ │ ├── in_loc: (44,13)-(44,15) = "in" @@ -382,6 +427,7 @@ │ ├── case_keyword_loc: (44,0)-(44,4) = "case" │ └── end_keyword_loc: (44,19)-(44,22) = "end" ├── @ CaseMatchNode (location: (46,0)-(49,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (46,5)-(46,6)) │ │ ├── flags: variable_call, ignore_visibility @@ -395,11 +441,14 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (47,0)-(48,3)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (47,3)-(47,15)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (47,5)-(47,7) = "if" │ │ │ ├── predicate: │ │ │ │ @ AndNode (location: (47,8)-(47,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── left: │ │ │ │ │ @ CallNode (location: (47,8)-(47,9)) │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -426,17 +475,20 @@ │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (47,3)-(47,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableTargetNode (location: (47,3)-(47,4)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :b │ │ │ │ └── depth: 0 │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (48,2)-(48,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (48,2)-(48,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :e @@ -451,10 +503,10 @@ │ ├── case_keyword_loc: (46,0)-(46,4) = "case" │ └── end_keyword_loc: (49,0)-(49,3) = "end" └── @ CallNode (location: (51,0)-(55,3)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (51,0)-(51,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: (51,1)-(51,2) = "." ├── name: :then @@ -464,24 +516,31 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (51,7)-(55,3)) + ├── flags: ∅ ├── locals: [:_1] ├── parameters: │ @ NumberedParametersNode (location: (51,7)-(55,3)) + │ ├── flags: ∅ │ └── maximum: 1 ├── body: │ @ StatementsNode (location: (52,2)-(54,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CaseMatchNode (location: (52,2)-(54,5)) + │ ├── flags: newline │ ├── predicate: │ │ @ IntegerNode (location: (52,7)-(52,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (53,2)-(53,8)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ PinnedVariableNode (location: (53,5)-(53,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── variable: │ │ │ │ @ LocalVariableReadNode (location: (53,6)-(53,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :_1 │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: (53,5)-(53,6) = "^" diff --git a/test/prism/snapshots/classes.txt b/test/prism/snapshots/classes.txt index 4a36bd5cdc..6e30ba0389 100644 --- a/test/prism/snapshots/classes.txt +++ b/test/prism/snapshots/classes.txt @@ -1,46 +1,56 @@ @ ProgramNode (location: (1,0)-(35,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(35,3)) + ├── flags: ∅ └── body: (length: 14) ├── @ ClassNode (location: (1,0)-(1,17)) + │ ├── flags: newline │ ├── locals: [:a] │ ├── class_keyword_loc: (1,0)-(1,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (1,6)-(1,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,8)-(1,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (1,8)-(1,13)) + │ │ ├── flags: newline │ │ ├── name: :a │ │ ├── depth: 0 │ │ ├── name_loc: (1,8)-(1,9) = "a" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (1,10)-(1,11) = "=" │ ├── end_keyword_loc: (1,14)-(1,17) = "end" │ └── name: :A ├── @ ClassNode (location: (3,0)-(3,20)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (3,0)-(3,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (3,6)-(3,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ BeginNode (location: (3,0)-(3,20)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (3,9)-(3,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (3,9)-(3,15) = "ensure" │ │ │ ├── statements: ∅ │ │ │ └── end_keyword_loc: (3,17)-(3,20) = "end" @@ -48,19 +58,23 @@ │ ├── end_keyword_loc: (3,17)-(3,20) = "end" │ └── name: :A ├── @ ClassNode (location: (5,0)-(5,34)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (5,0)-(5,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (5,6)-(5,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ BeginNode (location: (5,0)-(5,34)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (5,9)-(5,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (5,9)-(5,15) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -69,11 +83,13 @@ │ │ │ └── consequent: ∅ │ │ ├── else_clause: │ │ │ @ ElseNode (location: (5,17)-(5,29)) + │ │ │ ├── flags: ∅ │ │ │ ├── else_keyword_loc: (5,17)-(5,21) = "else" │ │ │ ├── statements: ∅ │ │ │ └── end_keyword_loc: (5,23)-(5,29) = "ensure" │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (5,23)-(5,34)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (5,23)-(5,29) = "ensure" │ │ │ ├── statements: ∅ │ │ │ └── end_keyword_loc: (5,31)-(5,34) = "end" @@ -81,30 +97,36 @@ │ ├── end_keyword_loc: (5,31)-(5,34) = "end" │ └── name: :A ├── @ ClassNode (location: (7,0)-(9,3)) + │ ├── flags: newline │ ├── locals: [:a] │ ├── class_keyword_loc: (7,0)-(7,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (7,6)-(7,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: (7,8)-(7,9) = "<" │ ├── superclass: │ │ @ ConstantReadNode (location: (7,10)-(7,11)) + │ │ ├── flags: ∅ │ │ └── name: :B │ ├── body: │ │ @ StatementsNode (location: (8,0)-(8,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (8,0)-(8,5)) + │ │ ├── flags: newline │ │ ├── name: :a │ │ ├── depth: 0 │ │ ├── name_loc: (8,0)-(8,1) = "a" │ │ ├── value: │ │ │ @ IntegerNode (location: (8,4)-(8,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (8,2)-(8,3) = "=" │ ├── end_keyword_loc: (9,0)-(9,3) = "end" │ └── name: :A ├── @ SingletonClassNode (location: (11,0)-(12,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (11,0)-(11,5) = "class" │ ├── operator_loc: (11,6)-(11,8) = "<<" @@ -132,30 +154,37 @@ │ ├── body: ∅ │ └── end_keyword_loc: (12,0)-(12,3) = "end" ├── @ ClassNode (location: (14,0)-(14,40)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (14,0)-(14,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (14,6)-(14,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ StatementsNode (location: (14,9)-(14,35)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SingletonClassNode (location: (14,9)-(14,35)) + │ │ ├── flags: newline │ │ ├── locals: [] │ │ ├── class_keyword_loc: (14,9)-(14,14) = "class" │ │ ├── operator_loc: (14,15)-(14,17) = "<<" │ │ ├── expression: │ │ │ @ SelfNode (location: (14,18)-(14,22)) + │ │ │ └── flags: ∅ │ │ ├── body: │ │ │ @ BeginNode (location: (14,9)-(14,35)) + │ │ │ ├── flags: ∅ │ │ │ ├── begin_keyword_loc: ∅ │ │ │ ├── statements: ∅ │ │ │ ├── rescue_clause: ∅ │ │ │ ├── else_clause: ∅ │ │ │ ├── ensure_clause: │ │ │ │ @ EnsureNode (location: (14,24)-(14,35)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── ensure_keyword_loc: (14,24)-(14,30) = "ensure" │ │ │ │ ├── statements: ∅ │ │ │ │ └── end_keyword_loc: (14,32)-(14,35) = "end" @@ -164,28 +193,35 @@ │ ├── end_keyword_loc: (14,37)-(14,40) = "end" │ └── name: :A ├── @ ClassNode (location: (16,0)-(16,54)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (16,0)-(16,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (16,6)-(16,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ StatementsNode (location: (16,9)-(16,49)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SingletonClassNode (location: (16,9)-(16,49)) + │ │ ├── flags: newline │ │ ├── locals: [] │ │ ├── class_keyword_loc: (16,9)-(16,14) = "class" │ │ ├── operator_loc: (16,15)-(16,17) = "<<" │ │ ├── expression: │ │ │ @ SelfNode (location: (16,18)-(16,22)) + │ │ │ └── flags: ∅ │ │ ├── body: │ │ │ @ BeginNode (location: (16,9)-(16,49)) + │ │ │ ├── flags: ∅ │ │ │ ├── begin_keyword_loc: ∅ │ │ │ ├── statements: ∅ │ │ │ ├── rescue_clause: │ │ │ │ @ RescueNode (location: (16,24)-(16,30)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── keyword_loc: (16,24)-(16,30) = "rescue" │ │ │ │ ├── exceptions: (length: 0) │ │ │ │ ├── operator_loc: ∅ @@ -194,11 +230,13 @@ │ │ │ │ └── consequent: ∅ │ │ │ ├── else_clause: │ │ │ │ @ ElseNode (location: (16,32)-(16,44)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── else_keyword_loc: (16,32)-(16,36) = "else" │ │ │ │ ├── statements: ∅ │ │ │ │ └── end_keyword_loc: (16,38)-(16,44) = "ensure" │ │ │ ├── ensure_clause: │ │ │ │ @ EnsureNode (location: (16,38)-(16,49)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── ensure_keyword_loc: (16,38)-(16,44) = "ensure" │ │ │ │ ├── statements: ∅ │ │ │ │ └── end_keyword_loc: (16,46)-(16,49) = "end" @@ -207,6 +245,7 @@ │ ├── end_keyword_loc: (16,51)-(16,54) = "end" │ └── name: :A ├── @ SingletonClassNode (location: (18,0)-(19,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (18,0)-(18,5) = "class" │ ├── operator_loc: (18,6)-(18,8) = "<<" @@ -234,6 +273,7 @@ │ ├── body: ∅ │ └── end_keyword_loc: (19,0)-(19,3) = "end" ├── @ SingletonClassNode (location: (21,0)-(21,20)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (21,0)-(21,5) = "class" │ ├── operator_loc: (21,6)-(21,8) = "<<" @@ -261,35 +301,42 @@ │ ├── body: ∅ │ └── end_keyword_loc: (21,17)-(21,20) = "end" ├── @ SingletonClassNode (location: (23,0)-(24,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (23,0)-(23,5) = "class" │ ├── operator_loc: (23,6)-(23,8) = "<<" │ ├── expression: │ │ @ SelfNode (location: (23,9)-(23,13)) + │ │ └── flags: ∅ │ ├── body: ∅ │ └── end_keyword_loc: (24,0)-(24,3) = "end" ├── @ SingletonClassNode (location: (26,0)-(26,17)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (26,0)-(26,5) = "class" │ ├── operator_loc: (26,6)-(26,8) = "<<" │ ├── expression: │ │ @ SelfNode (location: (26,9)-(26,13)) + │ │ └── flags: ∅ │ ├── body: ∅ │ └── end_keyword_loc: (26,14)-(26,17) = "end" ├── @ SingletonClassNode (location: (28,0)-(30,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (28,0)-(28,5) = "class" │ ├── operator_loc: (28,6)-(28,8) = "<<" │ ├── expression: │ │ @ SelfNode (location: (28,9)-(28,13)) + │ │ └── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (29,0)-(29,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (29,0)-(29,5)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ IntegerNode (location: (29,0)-(29,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :+ @@ -300,25 +347,28 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (29,4)-(29,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── end_keyword_loc: (30,0)-(30,3) = "end" ├── @ SingletonClassNode (location: (32,0)-(32,23)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (32,0)-(32,5) = "class" │ ├── operator_loc: (32,6)-(32,8) = "<<" │ ├── expression: │ │ @ SelfNode (location: (32,9)-(32,13)) + │ │ └── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (32,14)-(32,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (32,14)-(32,19)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ IntegerNode (location: (32,14)-(32,15)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :+ @@ -329,16 +379,18 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (32,18)-(32,19)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── end_keyword_loc: (32,20)-(32,23) = "end" └── @ ClassNode (location: (34,0)-(35,3)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (34,0)-(34,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (34,6)-(34,7)) + │ ├── flags: ∅ │ └── name: :A ├── inheritance_operator_loc: (34,8)-(34,9) = "<" ├── superclass: @@ -346,6 +398,7 @@ │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (34,10)-(34,11)) + │ │ ├── flags: ∅ │ │ └── name: :B │ ├── call_operator_loc: ∅ │ ├── name: :[] @@ -356,7 +409,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (34,12)-(34,13)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: (34,13)-(34,14) = "]" │ └── block: ∅ diff --git a/test/prism/snapshots/command_method_call.txt b/test/prism/snapshots/command_method_call.txt index 7fd6341304..2c0f44e52b 100644 --- a/test/prism/snapshots/command_method_call.txt +++ b/test/prism/snapshots/command_method_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(41,10)) +├── flags: ∅ ├── locals: [:foo, :bar] └── statements: @ StatementsNode (location: (1,0)-(41,10)) + ├── flags: ∅ └── body: (length: 21) ├── @ CallNode (location: (1,0)-(1,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -15,12 +17,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -42,13 +44,14 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (3,8)-(3,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ IfNode (location: (5,0)-(5,14)) + │ ├── flags: newline │ ├── if_keyword_loc: (5,6)-(5,8) = "if" │ ├── predicate: │ │ @ CallNode (location: (5,9)-(5,14)) @@ -63,16 +66,17 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (5,13)-(5,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (5,0)-(5,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,0)-(5,5)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -83,13 +87,14 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (5,4)-(5,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ UnlessNode (location: (7,0)-(7,18)) + │ ├── flags: newline │ ├── keyword_loc: (7,6)-(7,12) = "unless" │ ├── predicate: │ │ @ CallNode (location: (7,13)-(7,18)) @@ -104,16 +109,17 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (7,17)-(7,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (7,0)-(7,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,0)-(7,5)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -124,14 +130,14 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (7,4)-(7,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ WhileNode (location: (9,0)-(9,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (9,6)-(9,11) = "while" │ ├── closing_loc: ∅ │ ├── predicate: @@ -147,15 +153,16 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (9,16)-(9,17)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (9,0)-(9,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (9,0)-(9,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -166,12 +173,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (9,4)-(9,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ UntilNode (location: (11,0)-(11,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (11,6)-(11,11) = "until" │ ├── closing_loc: ∅ │ ├── predicate: @@ -187,15 +194,16 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (11,16)-(11,17)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (11,0)-(11,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (11,0)-(11,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -206,11 +214,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (11,4)-(11,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ RescueModifierNode (location: (13,0)-(13,18)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (13,0)-(13,5)) │ │ ├── flags: ignore_visibility @@ -224,7 +233,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (13,4)-(13,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -242,12 +251,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (13,17)-(13,18)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (15,0)-(15,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -279,13 +288,14 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (15,8)-(15,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── closing_loc: (15,9)-(15,10) = "]" │ └── block: ∅ ├── @ AndNode (location: (17,0)-(17,15)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (17,0)-(17,5)) │ │ ├── flags: ignore_visibility @@ -299,7 +309,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (17,4)-(17,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -316,12 +326,13 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (17,14)-(17,15)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── operator_loc: (17,6)-(17,9) = "and" ├── @ OrNode (location: (19,0)-(19,14)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (19,0)-(19,5)) │ │ ├── flags: ignore_visibility @@ -335,7 +346,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (19,4)-(19,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -352,13 +363,13 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (19,13)-(19,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── operator_loc: (19,6)-(19,8) = "or" ├── @ CallNode (location: (21,0)-(21,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (21,4)-(21,9)) │ │ ├── flags: ignore_visibility @@ -372,7 +383,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (21,8)-(21,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -384,11 +395,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ LocalVariableWriteNode (location: (23,0)-(23,17)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (23,0)-(23,3) = "foo" │ ├── value: │ │ @ LocalVariableWriteNode (location: (23,6)-(23,17)) + │ │ ├── flags: ∅ │ │ ├── name: :bar │ │ ├── depth: 0 │ │ ├── name_loc: (23,6)-(23,9) = "bar" @@ -405,22 +418,24 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (23,16)-(23,17)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── operator_loc: (23,10)-(23,11) = "=" │ └── operator_loc: (23,4)-(23,5) = "=" ├── @ DefNode (location: (25,0)-(25,15)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (25,4)-(25,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (25,10)-(25,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (25,10)-(25,15)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -431,7 +446,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (25,14)-(25,15)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -443,10 +458,10 @@ │ ├── equal_loc: (25,8)-(25,9) = "=" │ └── end_keyword_loc: ∅ ├── @ CallNode (location: (27,0)-(27,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (27,0)-(27,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: (27,1)-(27,2) = "." │ ├── name: :foo @@ -457,18 +472,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (27,6)-(27,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (29,0)-(29,5)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (29,0)-(29,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: (29,1)-(29,2) = "." │ │ ├── name: :foo @@ -486,12 +501,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (29,10)-(29,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (31,0)-(31,8)) │ │ ├── flags: ∅ @@ -500,7 +515,7 @@ │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ IntegerNode (location: (31,0)-(31,1)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── call_operator_loc: (31,1)-(31,2) = "." │ │ │ ├── name: :foo @@ -518,7 +533,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (31,6)-(31,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: (31,7)-(31,8) = "]" │ │ └── block: ∅ @@ -531,18 +546,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (31,13)-(31,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (33,0)-(33,8)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (33,0)-(33,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: (33,1)-(33,2) = "." │ │ ├── name: :foo @@ -553,7 +568,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (33,6)-(33,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: (33,7)-(33,8) = ")" │ │ └── block: ∅ @@ -566,18 +581,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (33,13)-(33,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (35,0)-(35,9)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (35,0)-(35,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: (35,1)-(35,2) = "." │ │ ├── name: :foo @@ -587,9 +602,10 @@ │ │ ├── closing_loc: (35,8)-(35,9) = ")" │ │ └── block: │ │ @ BlockArgumentNode (location: (35,6)-(35,8)) + │ │ ├── flags: ∅ │ │ ├── expression: │ │ │ @ IntegerNode (location: (35,7)-(35,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (35,6)-(35,7) = "&" │ ├── call_operator_loc: (35,9)-(35,10) = "." @@ -601,11 +617,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (35,14)-(35,15)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ AndNode (location: (37,0)-(37,17)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (37,0)-(37,6)) │ │ ├── flags: ∅ @@ -622,7 +639,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (37,5)-(37,6)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ @@ -649,7 +666,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (37,16)-(37,17)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ @@ -662,6 +679,7 @@ │ │ └── block: ∅ │ └── operator_loc: (37,7)-(37,10) = "and" ├── @ OrNode (location: (39,0)-(39,16)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (39,0)-(39,6)) │ │ ├── flags: ∅ @@ -678,7 +696,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (39,5)-(39,6)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ @@ -705,7 +723,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (39,15)-(39,16)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ @@ -718,7 +736,7 @@ │ │ └── block: ∅ │ └── operator_loc: (39,7)-(39,9) = "or" └── @ CallNode (location: (41,0)-(41,10)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (41,4)-(41,10)) │ ├── flags: ∅ @@ -735,7 +753,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (41,9)-(41,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ diff --git a/test/prism/snapshots/comments.txt b/test/prism/snapshots/comments.txt index b7088adcd5..66869bc2a9 100644 --- a/test/prism/snapshots/comments.txt +++ b/test/prism/snapshots/comments.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(24,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(24,5)) + ├── flags: ∅ └── body: (length: 9) ├── @ CallNode (location: (1,0)-(1,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -14,7 +16,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -24,7 +26,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :c @@ -34,7 +36,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (6,0)-(6,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :d @@ -44,7 +46,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (8,0)-(10,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (8,0)-(8,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -64,7 +66,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (12,0)-(14,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (12,0)-(12,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -84,7 +86,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (16,0)-(17,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (16,0)-(16,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -104,7 +106,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (19,0)-(20,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (19,0)-(19,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -124,7 +126,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (22,0)-(24,5)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (22,0)-(22,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/constants.txt b/test/prism/snapshots/constants.txt index 1251833663..3246ff80c3 100644 --- a/test/prism/snapshots/constants.txt +++ b/test/prism/snapshots/constants.txt @@ -1,20 +1,27 @@ @ ProgramNode (location: (1,0)-(184,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(184,10)) + ├── flags: ∅ └── body: (length: 90) ├── @ ConstantPathNode (location: (1,0)-(1,4)) + │ ├── flags: newline │ ├── parent: │ │ @ ConstantReadNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── name: :B │ ├── delimiter_loc: (1,1)-(1,3) = "::" │ └── name_loc: (1,3)-(1,4) = "B" ├── @ ConstantPathNode (location: (3,0)-(3,7)) + │ ├── flags: newline │ ├── parent: │ │ @ ConstantPathNode (location: (3,0)-(3,4)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (3,0)-(3,1)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── name: :B │ │ ├── delimiter_loc: (3,1)-(3,3) = "::" @@ -23,6 +30,7 @@ │ ├── delimiter_loc: (3,4)-(3,6) = "::" │ └── name_loc: (3,6)-(3,7) = "C" ├── @ ConstantPathNode (location: (5,0)-(5,4)) + │ ├── flags: newline │ ├── parent: │ │ @ CallNode (location: (5,0)-(5,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -38,10 +46,13 @@ │ ├── delimiter_loc: (5,1)-(5,3) = "::" │ └── name_loc: (5,3)-(5,4) = "B" ├── @ ConstantPathWriteNode (location: (7,0)-(7,8)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (7,0)-(7,4)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (7,0)-(7,1)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── name: :B │ │ ├── delimiter_loc: (7,1)-(7,3) = "::" @@ -49,20 +60,22 @@ │ ├── operator_loc: (7,5)-(7,6) = "=" │ └── value: │ @ IntegerNode (location: (7,7)-(7,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ ConstantWriteNode (location: (9,0)-(9,5)) + │ ├── flags: newline │ ├── name: :A │ ├── name_loc: (9,0)-(9,1) = "A" │ ├── value: │ │ @ IntegerNode (location: (9,4)-(9,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (9,2)-(9,3) = "=" ├── @ ConstantReadNode (location: (11,0)-(11,3)) + │ ├── flags: newline │ └── name: :ABC ├── @ CallNode (location: (13,0)-(13,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :Foo @@ -73,12 +86,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (13,4)-(13,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :Foo @@ -89,6 +102,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (15,4)-(15,8)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (15,4)-(15,5) = "*" │ │ └── expression: │ │ @ CallNode (location: (15,5)-(15,8)) @@ -104,7 +118,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (17,0)-(17,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :Foo @@ -118,6 +132,7 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (17,4)-(17,9)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (17,6)-(17,9)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -133,7 +148,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (19,0)-(19,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :Foo @@ -143,6 +158,7 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockArgumentNode (location: (19,4)-(19,8)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (19,5)-(19,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -156,9 +172,10 @@ │ │ └── block: ∅ │ └── operator_loc: (19,4)-(19,5) = "&" ├── @ CallNode (location: (21,0)-(21,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (21,0)-(21,3)) + │ │ ├── flags: ∅ │ │ └── name: :Foo │ ├── call_operator_loc: (21,3)-(21,5) = "::" │ ├── name: :Bar @@ -169,6 +186,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (21,9)-(21,13)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (21,9)-(21,10) = "*" │ │ └── expression: │ │ @ CallNode (location: (21,10)-(21,13)) @@ -184,9 +202,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (23,0)-(23,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (23,0)-(23,3)) + │ │ ├── flags: ∅ │ │ └── name: :Foo │ ├── call_operator_loc: (23,3)-(23,5) = "::" │ ├── name: :Bar @@ -200,6 +219,7 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (23,9)-(23,14)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (23,11)-(23,14)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -215,9 +235,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (25,0)-(25,3)) + │ │ ├── flags: ∅ │ │ └── name: :Foo │ ├── call_operator_loc: (25,3)-(25,5) = "::" │ ├── name: :Bar @@ -227,6 +248,7 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockArgumentNode (location: (25,9)-(25,13)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (25,10)-(25,13)) │ │ ├── flags: variable_call, ignore_visibility @@ -240,9 +262,10 @@ │ │ └── block: ∅ │ └── operator_loc: (25,9)-(25,10) = "&" ├── @ CallNode (location: (27,0)-(27,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantPathNode (location: (27,0)-(27,3)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :A │ │ ├── delimiter_loc: (27,0)-(27,2) = "::" @@ -255,8 +278,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ConstantPathWriteNode (location: (29,0)-(29,7)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (29,0)-(29,3)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :A │ │ ├── delimiter_loc: (29,0)-(29,2) = "::" @@ -264,13 +289,16 @@ │ ├── operator_loc: (29,4)-(29,5) = "=" │ └── value: │ @ IntegerNode (location: (29,6)-(29,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ ConstantPathWriteNode (location: (31,0)-(31,10)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (31,0)-(31,6)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantPathNode (location: (31,0)-(31,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: ∅ │ │ │ ├── name: :A │ │ │ ├── delimiter_loc: (31,0)-(31,2) = "::" @@ -281,11 +309,13 @@ │ ├── operator_loc: (31,7)-(31,8) = "=" │ └── value: │ @ IntegerNode (location: (31,9)-(31,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ ConstantPathNode (location: (33,0)-(33,6)) + │ ├── flags: newline │ ├── parent: │ │ @ ConstantPathNode (location: (33,0)-(33,3)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :A │ │ ├── delimiter_loc: (33,0)-(33,2) = "::" @@ -294,14 +324,16 @@ │ ├── delimiter_loc: (33,3)-(33,5) = "::" │ └── name_loc: (33,5)-(33,6) = "B" ├── @ ConstantPathNode (location: (35,0)-(35,3)) + │ ├── flags: newline │ ├── parent: ∅ │ ├── name: :A │ ├── delimiter_loc: (35,0)-(35,2) = "::" │ └── name_loc: (35,2)-(35,3) = "A" ├── @ CallNode (location: (37,0)-(37,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (37,0)-(37,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (37,1)-(37,3) = "::" │ ├── name: :false @@ -311,11 +343,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantPathNode (location: (39,0)-(39,4)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (39,0)-(39,1)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── name: :B │ │ ├── delimiter_loc: (39,1)-(39,3) = "::" @@ -328,9 +362,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (41,0)-(41,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (41,0)-(41,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (41,1)-(41,3) = "::" │ ├── name: :& @@ -340,9 +375,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (43,0)-(43,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (43,0)-(43,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (43,1)-(43,3) = "::" │ ├── name: :` @@ -352,9 +388,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (45,0)-(45,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (45,1)-(45,3) = "::" │ ├── name: :! @@ -364,9 +401,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (47,0)-(47,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (47,1)-(47,3) = "::" │ ├── name: :!= @@ -376,9 +414,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (49,0)-(49,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (49,0)-(49,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (49,1)-(49,3) = "::" │ ├── name: :^ @@ -388,9 +427,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (51,0)-(51,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (51,0)-(51,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (51,1)-(51,3) = "::" │ ├── name: :== @@ -400,9 +440,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (53,0)-(53,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (53,0)-(53,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (53,1)-(53,3) = "::" │ ├── name: :=== @@ -412,9 +453,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (55,0)-(55,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (55,0)-(55,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (55,1)-(55,3) = "::" │ ├── name: :=~ @@ -424,9 +466,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (57,0)-(57,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (57,0)-(57,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (57,1)-(57,3) = "::" │ ├── name: :> @@ -436,9 +479,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (59,0)-(59,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (59,0)-(59,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (59,1)-(59,3) = "::" │ ├── name: :>= @@ -448,9 +492,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (61,0)-(61,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (61,0)-(61,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (61,1)-(61,3) = "::" │ ├── name: :>> @@ -460,9 +505,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (63,0)-(63,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (63,0)-(63,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (63,1)-(63,3) = "::" │ ├── name: :<< @@ -472,16 +518,19 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ConstantPathNode (location: (65,0)-(67,1)) + │ ├── flags: newline │ ├── parent: │ │ @ ConstantReadNode (location: (65,0)-(65,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── name: :C │ ├── delimiter_loc: (65,1)-(65,3) = "::" │ └── name_loc: (67,0)-(67,1) = "C" ├── @ CallNode (location: (69,0)-(69,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (69,0)-(69,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (69,1)-(69,3) = "::" │ ├── name: :alias @@ -491,9 +540,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (71,0)-(71,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (71,0)-(71,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (71,1)-(71,3) = "::" │ ├── name: :and @@ -503,9 +553,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (73,0)-(73,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (73,0)-(73,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (73,1)-(73,3) = "::" │ ├── name: :begin @@ -515,16 +566,19 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ConstantPathNode (location: (75,0)-(75,8)) + │ ├── flags: newline │ ├── parent: │ │ @ ConstantReadNode (location: (75,0)-(75,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── name: :BEGIN │ ├── delimiter_loc: (75,1)-(75,3) = "::" │ └── name_loc: (75,3)-(75,8) = "BEGIN" ├── @ CallNode (location: (77,0)-(77,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (77,0)-(77,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (77,1)-(77,3) = "::" │ ├── name: :break @@ -534,9 +588,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (79,0)-(79,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (79,0)-(79,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (79,1)-(79,3) = "::" │ ├── name: :class @@ -546,9 +601,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (81,0)-(81,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (81,0)-(81,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (81,1)-(81,3) = "::" │ ├── name: :def @@ -558,9 +614,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (83,0)-(83,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (83,0)-(83,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (83,1)-(83,3) = "::" │ ├── name: :defined @@ -570,9 +627,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (85,0)-(85,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (85,0)-(85,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (85,1)-(85,3) = "::" │ ├── name: :do @@ -582,9 +640,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (87,0)-(87,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (87,0)-(87,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (87,1)-(87,3) = "::" │ ├── name: :else @@ -594,9 +653,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (89,0)-(89,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (89,0)-(89,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (89,1)-(89,3) = "::" │ ├── name: :elsif @@ -606,9 +666,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (91,0)-(91,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (91,0)-(91,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (91,1)-(91,3) = "::" │ ├── name: :end @@ -618,16 +679,19 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ConstantPathNode (location: (93,0)-(93,6)) + │ ├── flags: newline │ ├── parent: │ │ @ ConstantReadNode (location: (93,0)-(93,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── name: :END │ ├── delimiter_loc: (93,1)-(93,3) = "::" │ └── name_loc: (93,3)-(93,6) = "END" ├── @ CallNode (location: (95,0)-(95,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (95,0)-(95,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (95,1)-(95,3) = "::" │ ├── name: :ensure @@ -637,9 +701,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (97,0)-(97,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (97,0)-(97,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (97,1)-(97,3) = "::" │ ├── name: :false @@ -649,9 +714,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (99,0)-(99,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (99,0)-(99,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (99,1)-(99,3) = "::" │ ├── name: :for @@ -661,9 +727,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (101,0)-(101,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (101,0)-(101,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (101,1)-(101,3) = "::" │ ├── name: :if @@ -673,9 +740,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (103,0)-(103,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (103,0)-(103,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (103,1)-(103,3) = "::" │ ├── name: :in @@ -685,9 +753,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (105,0)-(105,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (105,0)-(105,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (105,1)-(105,3) = "::" │ ├── name: :next @@ -697,9 +766,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (107,0)-(107,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (107,0)-(107,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (107,1)-(107,3) = "::" │ ├── name: :nil @@ -709,9 +779,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (109,0)-(109,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (109,0)-(109,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (109,1)-(109,3) = "::" │ ├── name: :not @@ -721,9 +792,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (111,0)-(111,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (111,0)-(111,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (111,1)-(111,3) = "::" │ ├── name: :or @@ -733,9 +805,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (113,0)-(113,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (113,0)-(113,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (113,1)-(113,3) = "::" │ ├── name: :redo @@ -745,9 +818,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (115,0)-(115,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (115,0)-(115,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (115,1)-(115,3) = "::" │ ├── name: :rescue @@ -757,9 +831,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (117,0)-(117,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (117,0)-(117,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (117,1)-(117,3) = "::" │ ├── name: :retry @@ -769,9 +844,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (119,0)-(119,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (119,0)-(119,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (119,1)-(119,3) = "::" │ ├── name: :return @@ -781,9 +857,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (121,0)-(121,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (121,0)-(121,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (121,1)-(121,3) = "::" │ ├── name: :self @@ -793,9 +870,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (123,0)-(123,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (123,0)-(123,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (123,1)-(123,3) = "::" │ ├── name: :super @@ -805,9 +883,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (125,0)-(125,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (125,0)-(125,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (125,1)-(125,3) = "::" │ ├── name: :then @@ -817,9 +896,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (127,0)-(127,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (127,0)-(127,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (127,1)-(127,3) = "::" │ ├── name: :true @@ -829,9 +909,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (129,0)-(129,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (129,0)-(129,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (129,1)-(129,3) = "::" │ ├── name: :undef @@ -841,9 +922,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (131,0)-(131,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (131,0)-(131,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (131,1)-(131,3) = "::" │ ├── name: :unless @@ -853,9 +935,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (133,0)-(133,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (133,0)-(133,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (133,1)-(133,3) = "::" │ ├── name: :until @@ -865,9 +948,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (135,0)-(135,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (135,0)-(135,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (135,1)-(135,3) = "::" │ ├── name: :when @@ -877,9 +961,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (137,0)-(137,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (137,0)-(137,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (137,1)-(137,3) = "::" │ ├── name: :while @@ -889,9 +974,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (139,0)-(139,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (139,0)-(139,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (139,1)-(139,3) = "::" │ ├── name: :yield @@ -901,9 +987,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (141,0)-(141,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (141,0)-(141,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (141,1)-(141,3) = "::" │ ├── name: :__ENCODING__ @@ -913,9 +1000,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (143,0)-(143,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (143,0)-(143,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (143,1)-(143,3) = "::" │ ├── name: :__FILE__ @@ -925,9 +1013,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (145,0)-(145,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (145,0)-(145,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (145,1)-(145,3) = "::" │ ├── name: :__LINE__ @@ -937,9 +1026,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (147,0)-(147,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (147,0)-(147,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (147,1)-(147,3) = "::" │ ├── name: :< @@ -949,9 +1039,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (149,0)-(149,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (149,0)-(149,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (149,1)-(149,3) = "::" │ ├── name: :<=> @@ -961,9 +1052,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (151,0)-(151,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (151,0)-(151,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (151,1)-(151,3) = "::" │ ├── name: :<< @@ -973,9 +1065,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (153,0)-(153,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (153,0)-(153,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (153,1)-(153,3) = "::" │ ├── name: :- @@ -985,9 +1078,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (155,0)-(155,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (155,0)-(155,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (155,1)-(155,3) = "::" │ ├── name: :% @@ -997,9 +1091,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (157,0)-(157,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (157,0)-(157,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (157,1)-(157,3) = "::" │ ├── name: :% @@ -1022,9 +1117,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (159,0)-(159,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (159,0)-(159,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (159,1)-(159,3) = "::" │ ├── name: :% @@ -1047,9 +1143,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (161,0)-(161,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (161,0)-(161,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (161,1)-(161,3) = "::" │ ├── name: :% @@ -1072,9 +1169,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (163,0)-(163,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (163,0)-(163,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (163,1)-(163,3) = "::" │ ├── name: :% @@ -1085,13 +1183,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ConstantReadNode (location: (163,4)-(163,5)) + │ │ ├── flags: ∅ │ │ └── name: :I │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (165,0)-(165,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (165,0)-(165,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (165,1)-(165,3) = "::" │ ├── name: :% @@ -1102,13 +1202,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ConstantReadNode (location: (165,4)-(165,5)) + │ │ ├── flags: ∅ │ │ └── name: :W │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (167,0)-(167,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (167,0)-(167,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (167,1)-(167,3) = "::" │ ├── name: :| @@ -1118,9 +1220,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (169,0)-(169,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (169,0)-(169,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (169,1)-(169,3) = "::" │ ├── name: :+ @@ -1130,9 +1233,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (171,0)-(171,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (171,0)-(171,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (171,1)-(171,3) = "::" │ ├── name: :/ @@ -1142,9 +1246,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (173,0)-(173,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (173,0)-(173,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (173,1)-(173,3) = "::" │ ├── name: :* @@ -1154,9 +1259,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (175,0)-(175,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (175,0)-(175,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (175,1)-(175,3) = "::" │ ├── name: :** @@ -1166,9 +1272,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (177,0)-(177,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (177,0)-(177,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (177,1)-(177,3) = "::" │ ├── name: :~ @@ -1178,11 +1285,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ConstantPathNode (location: (179,0)-(180,1)) + │ ├── flags: newline │ ├── parent: │ │ @ CallNode (location: (179,0)-(179,4)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ ConstantReadNode (location: (179,0)-(179,1)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── call_operator_loc: (179,1)-(179,3) = "::" │ │ ├── name: :_ @@ -1195,12 +1304,13 @@ │ ├── delimiter_loc: (179,4)-(179,6) = "::" │ └── name_loc: (180,0)-(180,1) = "C" └── @ RangeNode (location: (182,0)-(184,10)) - ├── flags: ∅ + ├── flags: newline ├── left: │ @ CallNode (location: (182,0)-(182,4)) │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (182,0)-(182,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (182,1)-(182,3) = "::" │ ├── name: :_ @@ -1214,6 +1324,7 @@ │ ├── flags: ∅ │ ├── receiver: │ │ @ ConstantReadNode (location: (184,0)-(184,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (184,1)-(184,3) = "::" │ ├── name: :__END__ diff --git a/test/prism/snapshots/dash_heredocs.txt b/test/prism/snapshots/dash_heredocs.txt index bd2b05ea0d..1ca8b4f73d 100644 --- a/test/prism/snapshots/dash_heredocs.txt +++ b/test/prism/snapshots/dash_heredocs.txt @@ -1,16 +1,18 @@ @ ProgramNode (location: (1,0)-(57,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(57,11)) + ├── flags: ∅ └── body: (length: 13) ├── @ StringNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,6) = "<<-EOF" │ ├── content_loc: (2,0)-(3,0) = " a\n" │ ├── closing_loc: (3,0)-(4,0) = "EOF\n" │ └── unescaped: " a\n" ├── @ CallNode (location: (5,0)-(5,20)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ StringNode (location: (5,0)-(5,8)) │ │ ├── flags: ∅ @@ -35,6 +37,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ InterpolatedXStringNode (location: (11,0)-(11,8)) + │ ├── flags: newline │ ├── opening_loc: (11,0)-(11,8) = "<<-`EOF`" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (12,0)-(13,0)) @@ -44,9 +47,11 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " a\n" │ │ ├── @ EmbeddedStatementsNode (location: (13,0)-(13,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (13,0)-(13,2) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (13,2)-(13,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (13,2)-(13,3)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -67,31 +72,33 @@ │ │ └── unescaped: "\n" │ └── closing_loc: (14,0)-(15,0) = "EOF\n" ├── @ StringNode (location: (16,0)-(16,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (16,0)-(16,6) = "<<-EOF" │ ├── content_loc: (17,0)-(18,0) = " a\n" │ ├── closing_loc: (18,0)-(19,0) = "EOF\n" │ └── unescaped: " a\n" ├── @ StringNode (location: (20,0)-(20,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (20,0)-(20,6) = "<<-EOF" │ ├── content_loc: (21,0)-(23,0) = " a\n b\n" │ ├── closing_loc: (23,0)-(24,0) = " EOF\n" │ └── unescaped: " a\n b\n" ├── @ InterpolatedStringNode (location: (25,0)-(25,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (25,0)-(25,8) = "<<-\"EOF\"" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (26,0)-(27,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (26,0)-(27,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " a\n" │ │ ├── @ EmbeddedStatementsNode (location: (27,0)-(27,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (27,0)-(27,2) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (27,2)-(27,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (27,2)-(27,3)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -105,26 +112,28 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (27,3)-(27,4) = "}" │ │ └── @ StringNode (location: (27,4)-(28,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (27,4)-(28,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── closing_loc: (28,0)-(29,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (30,0)-(30,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (30,0)-(30,6) = "<<-EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (31,0)-(32,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (31,0)-(32,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " a\n" │ │ ├── @ EmbeddedStatementsNode (location: (32,0)-(32,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (32,0)-(32,2) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (32,2)-(32,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (32,2)-(32,3)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -138,38 +147,38 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (32,3)-(32,4) = "}" │ │ └── @ StringNode (location: (32,4)-(33,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (32,4)-(33,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── closing_loc: (33,0)-(34,0) = "EOF\n" ├── @ StringNode (location: (35,0)-(35,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (35,0)-(35,2) = "%#" │ ├── content_loc: (35,2)-(35,5) = "abc" │ ├── closing_loc: (35,5)-(35,6) = "#" │ └── unescaped: "abc" ├── @ StringNode (location: (37,0)-(37,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (37,0)-(37,6) = "<<-EOF" │ ├── content_loc: (38,0)-(40,0) = " a\n b\n" │ ├── closing_loc: (40,0)-(41,0) = "EOF\n" │ └── unescaped: " a\n b\n" ├── @ StringNode (location: (42,0)-(42,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (42,0)-(42,5) = "<<-''" │ ├── content_loc: (43,0)-(43,0) = "" │ ├── closing_loc: (43,0)-(44,0) = "\n" │ └── unescaped: "" ├── @ StringNode (location: (45,0)-(45,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (45,0)-(45,8) = "<<-'EOF'" │ ├── content_loc: (46,0)-(47,0) = " a \#{1}\n" │ ├── closing_loc: (47,0)-(48,0) = "EOF\n" │ └── unescaped: " a \#{1}\n" ├── @ CallNode (location: (49,0)-(49,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ StringNode (location: (49,0)-(49,4)) │ │ ├── flags: ∅ @@ -190,22 +199,24 @@ │ │ ├── opening_loc: (49,7)-(49,11) = "<<-B" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (52,0)-(53,2)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (52,0)-(53,2) = " b\n " │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " b\n " │ │ │ ├── @ EmbeddedStatementsNode (location: (53,2)-(54,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (53,2)-(53,4) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (53,4)-(53,5)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (53,4)-(53,5)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ └── closing_loc: (54,2)-(54,3) = "}" │ │ │ └── @ StringNode (location: (54,3)-(55,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (54,3)-(55,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -214,7 +225,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (57,0)-(57,11)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ StringNode (location: (57,0)-(57,4)) │ ├── flags: ∅ @@ -235,22 +246,24 @@ │ ├── opening_loc: (57,7)-(57,11) = "<<-B" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (60,0)-(61,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (60,0)-(61,2) = " b\n " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " b\n " │ │ ├── @ EmbeddedStatementsNode (location: (61,2)-(62,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (61,2)-(61,4) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (62,2)-(62,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (62,2)-(62,3)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── closing_loc: (62,3)-(62,4) = "}" │ │ └── @ StringNode (location: (62,4)-(63,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (62,4)-(63,0) = "\n" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/defined.txt b/test/prism/snapshots/defined.txt index c60173ff37..761c7b2ce7 100644 --- a/test/prism/snapshots/defined.txt +++ b/test/prism/snapshots/defined.txt @@ -1,37 +1,44 @@ @ ProgramNode (location: (1,0)-(10,1)) +├── flags: ∅ ├── locals: [:x] └── statements: @ StatementsNode (location: (1,0)-(10,1)) + ├── flags: ∅ └── body: (length: 5) ├── @ AndNode (location: (1,0)-(1,25)) + │ ├── flags: newline │ ├── left: │ │ @ DefinedNode (location: (1,0)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── lparen_loc: ∅ │ │ ├── value: │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rparen_loc: ∅ │ │ └── keyword_loc: (1,0)-(1,8) = "defined?" │ ├── right: │ │ @ DefinedNode (location: (1,15)-(1,25)) + │ │ ├── flags: ∅ │ │ ├── lparen_loc: ∅ │ │ ├── value: │ │ │ @ IntegerNode (location: (1,24)-(1,25)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── rparen_loc: ∅ │ │ └── keyword_loc: (1,15)-(1,23) = "defined?" │ └── operator_loc: (1,11)-(1,14) = "and" ├── @ DefinedNode (location: (3,0)-(3,16)) + │ ├── flags: newline │ ├── lparen_loc: (3,8)-(3,9) = "(" │ ├── value: │ │ @ LocalVariableOperatorWriteNode (location: (3,9)-(3,15)) + │ │ ├── flags: ∅ │ │ ├── name_loc: (3,9)-(3,10) = "x" │ │ ├── binary_operator_loc: (3,11)-(3,13) = "%=" │ │ ├── value: │ │ │ @ IntegerNode (location: (3,14)-(3,15)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── name: :x │ │ ├── binary_operator: :% @@ -39,9 +46,11 @@ │ ├── rparen_loc: (3,15)-(3,16) = ")" │ └── keyword_loc: (3,0)-(3,8) = "defined?" ├── @ DefinedNode (location: (5,0)-(5,21)) + │ ├── flags: newline │ ├── lparen_loc: (5,8)-(5,9) = "(" │ ├── value: │ │ @ AndNode (location: (5,9)-(5,20)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ CallNode (location: (5,9)-(5,12)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -68,14 +77,16 @@ │ ├── rparen_loc: (5,20)-(5,21) = ")" │ └── keyword_loc: (5,0)-(5,8) = "defined?" ├── @ DefinedNode (location: (7,0)-(7,10)) + │ ├── flags: newline │ ├── lparen_loc: ∅ │ ├── value: │ │ @ IntegerNode (location: (7,9)-(7,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── rparen_loc: ∅ │ └── keyword_loc: (7,0)-(7,8) = "defined?" └── @ DefinedNode (location: (9,0)-(10,1)) + ├── flags: newline ├── lparen_loc: (9,8)-(9,9) = "(" ├── value: │ @ StringNode (location: (9,9)-(9,14)) diff --git a/test/prism/snapshots/dos_endings.txt b/test/prism/snapshots/dos_endings.txt index 1ae15e1e87..69d6b7cd7e 100644 --- a/test/prism/snapshots/dos_endings.txt +++ b/test/prism/snapshots/dos_endings.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(17,20)) +├── flags: ∅ ├── locals: [:x, :a] └── statements: @ StatementsNode (location: (1,0)-(17,20)) + ├── flags: ∅ └── body: (length: 5) ├── @ CallNode (location: (1,0)-(2,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :puts @@ -15,17 +17,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (1,5)-(2,12)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: ∅ │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (1,5)-(1,9)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── 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: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (2,5)-(2,6) = "\"" │ │ │ ├── content_loc: (2,6)-(2,11) = "there" │ │ │ ├── closing_loc: (2,11)-(2,12) = "\"" @@ -34,10 +36,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ArrayNode (location: (4,0)-(5,2)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (4,3)-(5,1)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (4,3)-(5,1) = "a\\\r\nb" │ │ ├── closing_loc: ∅ @@ -45,12 +47,13 @@ │ ├── opening_loc: (4,0)-(4,3) = "%I{" │ └── closing_loc: (5,1)-(5,2) = "}" ├── @ StringNode (location: (7,0)-(7,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (7,0)-(7,4) = "<<-E" │ ├── content_loc: (8,0)-(11,0) = " 1 \\\r\n 2\r\n 3\r\n" │ ├── closing_loc: (11,0)-(12,0) = "E\r\n" │ └── unescaped: " 1 2\n 3\n" ├── @ LocalVariableWriteNode (location: (13,0)-(15,0)) + │ ├── flags: newline │ ├── name: :x │ ├── depth: 0 │ ├── name_loc: (13,0)-(13,1) = "x" @@ -63,6 +66,7 @@ │ │ └── unescaped: "" │ └── operator_loc: (13,2)-(13,3) = "=" └── @ LocalVariableWriteNode (location: (17,0)-(17,20)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (17,0)-(17,1) = "a" @@ -82,17 +86,17 @@ │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ InterpolatedStringNode (location: (17,8)-(17,14)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (17,8)-(17,14) = "<<~EOF" │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ StringNode (location: (18,0)-(19,0)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (18,0)-(19,0) = "\r\n" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "\n" │ │ │ │ └── @ StringNode (location: (19,0)-(20,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (19,0)-(20,0) = " baz\r\n" │ │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/dstring.txt b/test/prism/snapshots/dstring.txt index 3978a2f087..b3ece40513 100644 --- a/test/prism/snapshots/dstring.txt +++ b/test/prism/snapshots/dstring.txt @@ -1,28 +1,32 @@ @ ProgramNode (location: (1,0)-(29,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(29,1)) + ├── flags: ∅ └── body: (length: 8) ├── @ StringNode (location: (1,0)-(2,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── content_loc: (1,1)-(2,5) = "foo\n bar" │ ├── closing_loc: (2,5)-(2,6) = "\"" │ └── unescaped: "foo\n bar" ├── @ InterpolatedStringNode (location: (4,0)-(5,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (4,0)-(4,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (4,1)-(5,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (4,1)-(5,2) = "foo\n " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo\n " │ │ └── @ EmbeddedStatementsNode (location: (5,2)-(5,8)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (5,2)-(5,4) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (5,4)-(5,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (5,4)-(5,7)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -37,48 +41,48 @@ │ │ └── closing_loc: (5,7)-(5,8) = "}" │ └── closing_loc: (5,8)-(5,9) = "\"" ├── @ InterpolatedStringNode (location: (7,0)-(9,2)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (7,0)-(8,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (7,0)-(7,1) = "\"" │ │ │ ├── content_loc: (7,1)-(8,1) = "fo\no" │ │ │ ├── closing_loc: (8,1)-(8,2) = "\"" │ │ │ └── unescaped: "fo\no" │ │ └── @ StringNode (location: (8,3)-(9,2)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (8,3)-(8,4) = "\"" │ │ ├── content_loc: (8,4)-(9,1) = "ba\nr" │ │ ├── closing_loc: (9,1)-(9,2) = "\"" │ │ └── unescaped: "ba\nr" │ └── closing_loc: ∅ ├── @ StringNode (location: (11,0)-(13,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (11,0)-(11,1) = "\"" │ ├── content_loc: (11,1)-(13,0) = "\nfoo\\\n" │ ├── closing_loc: (13,0)-(13,1) = "\"" │ └── unescaped: "\nfoo" ├── @ StringNode (location: (15,0)-(17,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (15,0)-(15,1) = "\"" │ ├── content_loc: (15,1)-(17,0) = "\nfoo\\\\\n" │ ├── closing_loc: (17,0)-(17,1) = "\"" │ └── unescaped: "\nfoo\\\n" ├── @ StringNode (location: (19,0)-(21,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (19,0)-(19,1) = "\"" │ ├── content_loc: (19,1)-(21,0) = "\nfoo\\\\\\\n" │ ├── closing_loc: (21,0)-(21,1) = "\"" │ └── unescaped: "\nfoo\\" ├── @ StringNode (location: (23,0)-(25,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (23,0)-(23,1) = "\"" │ ├── content_loc: (23,1)-(25,0) = "\nfoo\\\\\\\\\n" │ ├── closing_loc: (25,0)-(25,1) = "\"" │ └── unescaped: "\nfoo\\\\\n" └── @ StringNode (location: (27,0)-(29,1)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (27,0)-(27,1) = "\"" ├── content_loc: (27,1)-(29,0) = "\nfoo\\\\\\\\\\\n" ├── closing_loc: (29,0)-(29,1) = "\"" diff --git a/test/prism/snapshots/dsym_str.txt b/test/prism/snapshots/dsym_str.txt index 33a5e2da21..835cbbdc8a 100644 --- a/test/prism/snapshots/dsym_str.txt +++ b/test/prism/snapshots/dsym_str.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,6)) + ├── flags: ∅ └── body: (length: 1) └── @ SymbolNode (location: (1,0)-(2,6)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (1,0)-(1,2) = ":\"" ├── value_loc: (1,2)-(2,5) = "foo\n bar" ├── closing_loc: (2,5)-(2,6) = "\"" diff --git a/test/prism/snapshots/embdoc_no_newline_at_end.txt b/test/prism/snapshots/embdoc_no_newline_at_end.txt index 3a21ce5559..5756285aaf 100644 --- a/test/prism/snapshots/embdoc_no_newline_at_end.txt +++ b/test/prism/snapshots/embdoc_no_newline_at_end.txt @@ -1,5 +1,7 @@ @ ProgramNode (location: (1,0)-(1,0)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,0)) + ├── flags: ∅ └── body: (length: 0) diff --git a/test/prism/snapshots/emoji_method_calls.txt b/test/prism/snapshots/emoji_method_calls.txt index 8f71181ac1..f6f1bc4162 100644 --- a/test/prism/snapshots/emoji_method_calls.txt +++ b/test/prism/snapshots/emoji_method_calls.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -25,7 +27,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,11)-(1,12)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/endless_methods.txt b/test/prism/snapshots/endless_methods.txt index 6e20c0deec..50a0f41a67 100644 --- a/test/prism/snapshots/endless_methods.txt +++ b/test/prism/snapshots/endless_methods.txt @@ -1,18 +1,22 @@ @ ProgramNode (location: (1,0)-(5,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,22)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefNode (location: (1,0)-(1,11)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,10)-(1,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── locals: [] │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -22,15 +26,17 @@ │ ├── equal_loc: (1,8)-(1,9) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (3,0)-(3,14)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (3,4)-(3,7) = "bar" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,10)-(3,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,10)-(3,14)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :A @@ -56,21 +62,23 @@ │ ├── equal_loc: (3,8)-(3,9) = "=" │ └── end_keyword_loc: ∅ └── @ DefNode (location: (5,0)-(5,22)) + ├── flags: newline ├── name: :method ├── name_loc: (5,4)-(5,10) = "method" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (5,13)-(5,22)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (5,13)-(5,22)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (5,13)-(5,18)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (5,13)-(5,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :+ @@ -81,7 +89,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (5,17)-(5,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -94,7 +102,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (5,21)-(5,22)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/endless_range_in_conditional.txt b/test/prism/snapshots/endless_range_in_conditional.txt index 1802c4faed..518e96ed53 100644 --- a/test/prism/snapshots/endless_range_in_conditional.txt +++ b/test/prism/snapshots/endless_range_in_conditional.txt @@ -1,20 +1,23 @@ @ ProgramNode (location: (1,0)-(3,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,12)) + ├── flags: ∅ └── body: (length: 3) ├── @ IfNode (location: (1,0)-(1,13)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ FlipFlopNode (location: (1,3)-(1,7)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (1,3)-(1,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: │ │ │ @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (1,4)-(1,6) = ".." │ ├── then_keyword_loc: ∅ @@ -22,14 +25,15 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (1,10)-(1,13) = "end" ├── @ IfNode (location: (2,0)-(2,12)) + │ ├── flags: newline │ ├── if_keyword_loc: (2,0)-(2,2) = "if" │ ├── predicate: │ │ @ FlipFlopNode (location: (2,3)-(2,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: ∅ │ │ ├── right: │ │ │ @ IntegerNode (location: (2,5)-(2,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (2,3)-(2,5) = ".." │ ├── then_keyword_loc: ∅ @@ -37,13 +41,14 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (2,9)-(2,12) = "end" └── @ IfNode (location: (3,0)-(3,12)) + ├── flags: newline ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (3,3)-(3,6)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── left: │ │ @ IntegerNode (location: (3,3)-(3,4)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: ∅ │ └── operator_loc: (3,4)-(3,6) = ".." diff --git a/test/prism/snapshots/for.txt b/test/prism/snapshots/for.txt index cc4bbc1166..5558209826 100644 --- a/test/prism/snapshots/for.txt +++ b/test/prism/snapshots/for.txt @@ -1,29 +1,35 @@ @ ProgramNode (location: (1,0)-(19,22)) +├── flags: ∅ ├── locals: [:i, :j, :k] └── statements: @ StatementsNode (location: (1,0)-(19,22)) + ├── flags: ∅ └── body: (length: 6) ├── @ ForNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── index: │ │ @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── name: :i │ │ └── depth: 0 │ ├── collection: │ │ @ RangeNode (location: (1,9)-(1,14)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 10 │ │ └── operator_loc: (1,10)-(1,12) = ".." │ ├── statements: │ │ @ StatementsNode (location: (2,0)-(2,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (2,0)-(2,1)) + │ │ ├── flags: newline │ │ ├── name: :i │ │ └── depth: 0 │ ├── for_keyword_loc: (1,0)-(1,3) = "for" @@ -31,26 +37,30 @@ │ ├── do_keyword_loc: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ ForNode (location: (5,0)-(5,22)) + │ ├── flags: newline │ ├── index: │ │ @ LocalVariableTargetNode (location: (5,4)-(5,5)) + │ │ ├── flags: ∅ │ │ ├── name: :i │ │ └── depth: 0 │ ├── collection: │ │ @ RangeNode (location: (5,9)-(5,14)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (5,9)-(5,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: │ │ │ @ IntegerNode (location: (5,12)-(5,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 10 │ │ └── operator_loc: (5,10)-(5,12) = ".." │ ├── statements: │ │ @ StatementsNode (location: (5,16)-(5,17)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (5,16)-(5,17)) + │ │ ├── flags: newline │ │ ├── name: :i │ │ └── depth: 0 │ ├── for_keyword_loc: (5,0)-(5,3) = "for" @@ -58,13 +68,17 @@ │ ├── do_keyword_loc: ∅ │ └── end_keyword_loc: (5,19)-(5,22) = "end" ├── @ ForNode (location: (7,0)-(9,3)) + │ ├── flags: newline │ ├── index: │ │ @ MultiTargetNode (location: (7,4)-(7,7)) + │ │ ├── flags: ∅ │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (7,4)-(7,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :i │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (7,6)-(7,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :j │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -73,20 +87,22 @@ │ │ └── rparen_loc: ∅ │ ├── collection: │ │ @ RangeNode (location: (7,11)-(7,16)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (7,11)-(7,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: │ │ │ @ IntegerNode (location: (7,14)-(7,16)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 10 │ │ └── operator_loc: (7,12)-(7,14) = ".." │ ├── statements: │ │ @ StatementsNode (location: (8,0)-(8,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (8,0)-(8,1)) + │ │ ├── flags: newline │ │ ├── name: :i │ │ └── depth: 0 │ ├── for_keyword_loc: (7,0)-(7,3) = "for" @@ -94,16 +110,21 @@ │ ├── do_keyword_loc: ∅ │ └── end_keyword_loc: (9,0)-(9,3) = "end" ├── @ ForNode (location: (11,0)-(13,3)) + │ ├── flags: newline │ ├── index: │ │ @ MultiTargetNode (location: (11,4)-(11,9)) + │ │ ├── flags: ∅ │ │ ├── lefts: (length: 3) │ │ │ ├── @ LocalVariableTargetNode (location: (11,4)-(11,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :i │ │ │ │ └── depth: 0 │ │ │ ├── @ LocalVariableTargetNode (location: (11,6)-(11,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :j │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (11,8)-(11,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :k │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -112,20 +133,22 @@ │ │ └── rparen_loc: ∅ │ ├── collection: │ │ @ RangeNode (location: (11,13)-(11,18)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (11,13)-(11,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: │ │ │ @ IntegerNode (location: (11,16)-(11,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 10 │ │ └── operator_loc: (11,14)-(11,16) = ".." │ ├── statements: │ │ @ StatementsNode (location: (12,0)-(12,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (12,0)-(12,1)) + │ │ ├── flags: newline │ │ ├── name: :i │ │ └── depth: 0 │ ├── for_keyword_loc: (11,0)-(11,3) = "for" @@ -133,26 +156,30 @@ │ ├── do_keyword_loc: ∅ │ └── end_keyword_loc: (13,0)-(13,3) = "end" ├── @ ForNode (location: (15,0)-(17,3)) + │ ├── flags: newline │ ├── index: │ │ @ LocalVariableTargetNode (location: (15,4)-(15,5)) + │ │ ├── flags: ∅ │ │ ├── name: :i │ │ └── depth: 0 │ ├── collection: │ │ @ RangeNode (location: (15,9)-(15,14)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (15,9)-(15,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: │ │ │ @ IntegerNode (location: (15,12)-(15,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 10 │ │ └── operator_loc: (15,10)-(15,12) = ".." │ ├── statements: │ │ @ StatementsNode (location: (16,0)-(16,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (16,0)-(16,1)) + │ │ ├── flags: newline │ │ ├── name: :i │ │ └── depth: 0 │ ├── for_keyword_loc: (15,0)-(15,3) = "for" @@ -160,26 +187,30 @@ │ ├── do_keyword_loc: (15,15)-(15,17) = "do" │ └── end_keyword_loc: (17,0)-(17,3) = "end" └── @ ForNode (location: (19,0)-(19,22)) + ├── flags: newline ├── index: │ @ LocalVariableTargetNode (location: (19,4)-(19,5)) + │ ├── flags: ∅ │ ├── name: :i │ └── depth: 0 ├── collection: │ @ RangeNode (location: (19,9)-(19,14)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── left: │ │ @ IntegerNode (location: (19,9)-(19,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ IntegerNode (location: (19,12)-(19,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 10 │ └── operator_loc: (19,10)-(19,12) = ".." ├── statements: │ @ StatementsNode (location: (19,16)-(19,17)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (19,16)-(19,17)) + │ ├── flags: newline │ ├── name: :i │ └── depth: 0 ├── for_keyword_loc: (19,0)-(19,3) = "for" diff --git a/test/prism/snapshots/global_variables.txt b/test/prism/snapshots/global_variables.txt index 9f775ed80d..17b7728a32 100644 --- a/test/prism/snapshots/global_variables.txt +++ b/test/prism/snapshots/global_variables.txt @@ -1,190 +1,216 @@ @ ProgramNode (location: (1,0)-(93,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(93,4)) + ├── flags: ∅ └── body: (length: 47) ├── @ GlobalVariableReadNode (location: (1,0)-(1,16)) + │ ├── flags: newline │ └── name: :$global_variable ├── @ GlobalVariableReadNode (location: (3,0)-(3,2)) + │ ├── flags: newline │ └── name: :$_ ├── @ GlobalVariableReadNode (location: (5,0)-(5,3)) + │ ├── flags: newline │ └── name: :$-w ├── @ GlobalVariableReadNode (location: (7,0)-(7,10)) + │ ├── flags: newline │ └── name: :$LOAD_PATH ├── @ GlobalVariableReadNode (location: (9,0)-(9,6)) + │ ├── flags: newline │ └── name: :$stdin ├── @ GlobalVariableReadNode (location: (11,0)-(11,7)) + │ ├── flags: newline │ └── name: :$stdout ├── @ GlobalVariableReadNode (location: (13,0)-(13,7)) + │ ├── flags: newline │ └── name: :$stderr ├── @ GlobalVariableReadNode (location: (15,0)-(15,2)) + │ ├── flags: newline │ └── name: :$! ├── @ GlobalVariableReadNode (location: (17,0)-(17,2)) + │ ├── flags: newline │ └── name: :$? ├── @ GlobalVariableReadNode (location: (19,0)-(19,2)) + │ ├── flags: newline │ └── name: :$~ ├── @ BackReferenceReadNode (location: (21,0)-(21,2)) + │ ├── flags: newline │ └── name: :$& ├── @ BackReferenceReadNode (location: (23,0)-(23,2)) + │ ├── flags: newline │ └── name: :$` ├── @ BackReferenceReadNode (location: (25,0)-(25,2)) + │ ├── flags: newline │ └── name: :$' ├── @ BackReferenceReadNode (location: (27,0)-(27,2)) + │ ├── flags: newline │ └── name: :$+ ├── @ GlobalVariableReadNode (location: (29,0)-(29,2)) + │ ├── flags: newline │ └── name: :$: ├── @ GlobalVariableReadNode (location: (31,0)-(31,2)) + │ ├── flags: newline │ └── name: :$; ├── @ GlobalVariableReadNode (location: (33,0)-(33,2)) + │ ├── flags: newline │ └── name: :$, ├── @ GlobalVariableReadNode (location: (35,0)-(35,6)) + │ ├── flags: newline │ └── name: :$DEBUG ├── @ GlobalVariableReadNode (location: (37,0)-(37,9)) + │ ├── flags: newline │ └── name: :$FILENAME ├── @ GlobalVariableReadNode (location: (39,0)-(39,2)) + │ ├── flags: newline │ └── name: :$0 ├── @ GlobalVariableReadNode (location: (41,0)-(41,3)) + │ ├── flags: newline │ └── name: :$-0 ├── @ GlobalVariableReadNode (location: (43,0)-(43,16)) + │ ├── flags: newline │ └── name: :$LOADED_FEATURES ├── @ GlobalVariableReadNode (location: (45,0)-(45,8)) + │ ├── flags: newline │ └── name: :$VERBOSE ├── @ GlobalVariableReadNode (location: (47,0)-(47,3)) + │ ├── flags: newline │ └── name: :$-K ├── @ SymbolNode (location: (49,0)-(49,17)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (49,0)-(49,1) = ":" │ ├── value_loc: (49,1)-(49,17) = "$global_variable" │ ├── closing_loc: ∅ │ └── unescaped: "$global_variable" ├── @ SymbolNode (location: (51,0)-(51,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (51,0)-(51,1) = ":" │ ├── value_loc: (51,1)-(51,3) = "$_" │ ├── closing_loc: ∅ │ └── unescaped: "$_" ├── @ SymbolNode (location: (53,0)-(53,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (53,0)-(53,1) = ":" │ ├── value_loc: (53,1)-(53,4) = "$-w" │ ├── closing_loc: ∅ │ └── unescaped: "$-w" ├── @ SymbolNode (location: (55,0)-(55,11)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (55,0)-(55,1) = ":" │ ├── value_loc: (55,1)-(55,11) = "$LOAD_PATH" │ ├── closing_loc: ∅ │ └── unescaped: "$LOAD_PATH" ├── @ SymbolNode (location: (57,0)-(57,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (57,0)-(57,1) = ":" │ ├── value_loc: (57,1)-(57,7) = "$stdin" │ ├── closing_loc: ∅ │ └── unescaped: "$stdin" ├── @ SymbolNode (location: (59,0)-(59,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (59,0)-(59,1) = ":" │ ├── value_loc: (59,1)-(59,8) = "$stdout" │ ├── closing_loc: ∅ │ └── unescaped: "$stdout" ├── @ SymbolNode (location: (61,0)-(61,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (61,0)-(61,1) = ":" │ ├── value_loc: (61,1)-(61,8) = "$stderr" │ ├── closing_loc: ∅ │ └── unescaped: "$stderr" ├── @ SymbolNode (location: (63,0)-(63,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (63,0)-(63,1) = ":" │ ├── value_loc: (63,1)-(63,3) = "$!" │ ├── closing_loc: ∅ │ └── unescaped: "$!" ├── @ SymbolNode (location: (65,0)-(65,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (65,0)-(65,1) = ":" │ ├── value_loc: (65,1)-(65,3) = "$?" │ ├── closing_loc: ∅ │ └── unescaped: "$?" ├── @ SymbolNode (location: (67,0)-(67,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (67,0)-(67,1) = ":" │ ├── value_loc: (67,1)-(67,3) = "$~" │ ├── closing_loc: ∅ │ └── unescaped: "$~" ├── @ SymbolNode (location: (69,0)-(69,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (69,0)-(69,1) = ":" │ ├── value_loc: (69,1)-(69,3) = "$&" │ ├── closing_loc: ∅ │ └── unescaped: "$&" ├── @ SymbolNode (location: (71,0)-(71,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (71,0)-(71,1) = ":" │ ├── value_loc: (71,1)-(71,3) = "$`" │ ├── closing_loc: ∅ │ └── unescaped: "$`" ├── @ SymbolNode (location: (73,0)-(73,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (73,0)-(73,1) = ":" │ ├── value_loc: (73,1)-(73,3) = "$'" │ ├── closing_loc: ∅ │ └── unescaped: "$'" ├── @ SymbolNode (location: (75,0)-(75,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (75,0)-(75,1) = ":" │ ├── value_loc: (75,1)-(75,3) = "$+" │ ├── closing_loc: ∅ │ └── unescaped: "$+" ├── @ SymbolNode (location: (77,0)-(77,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (77,0)-(77,1) = ":" │ ├── value_loc: (77,1)-(77,3) = "$:" │ ├── closing_loc: ∅ │ └── unescaped: "$:" ├── @ SymbolNode (location: (79,0)-(79,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (79,0)-(79,1) = ":" │ ├── value_loc: (79,1)-(79,3) = "$;" │ ├── closing_loc: ∅ │ └── unescaped: "$;" ├── @ SymbolNode (location: (81,0)-(81,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (81,0)-(81,1) = ":" │ ├── value_loc: (81,1)-(81,7) = "$DEBUG" │ ├── closing_loc: ∅ │ └── unescaped: "$DEBUG" ├── @ SymbolNode (location: (83,0)-(83,10)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (83,0)-(83,1) = ":" │ ├── value_loc: (83,1)-(83,10) = "$FILENAME" │ ├── closing_loc: ∅ │ └── unescaped: "$FILENAME" ├── @ SymbolNode (location: (85,0)-(85,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (85,0)-(85,1) = ":" │ ├── value_loc: (85,1)-(85,3) = "$0" │ ├── closing_loc: ∅ │ └── unescaped: "$0" ├── @ SymbolNode (location: (87,0)-(87,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (87,0)-(87,1) = ":" │ ├── value_loc: (87,1)-(87,4) = "$-0" │ ├── closing_loc: ∅ │ └── unescaped: "$-0" ├── @ SymbolNode (location: (89,0)-(89,17)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (89,0)-(89,1) = ":" │ ├── value_loc: (89,1)-(89,17) = "$LOADED_FEATURES" │ ├── closing_loc: ∅ │ └── unescaped: "$LOADED_FEATURES" ├── @ SymbolNode (location: (91,0)-(91,9)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (91,0)-(91,1) = ":" │ ├── value_loc: (91,1)-(91,9) = "$VERBOSE" │ ├── closing_loc: ∅ │ └── unescaped: "$VERBOSE" └── @ SymbolNode (location: (93,0)-(93,4)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (93,0)-(93,1) = ":" ├── value_loc: (93,1)-(93,4) = "$-K" ├── closing_loc: ∅ diff --git a/test/prism/snapshots/hashes.txt b/test/prism/snapshots/hashes.txt index 7a3ac4b0ea..8462c28994 100644 --- a/test/prism/snapshots/hashes.txt +++ b/test/prism/snapshots/hashes.txt @@ -1,20 +1,26 @@ @ ProgramNode (location: (1,0)-(28,9)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(28,9)) + ├── flags: ∅ └── body: (length: 10) ├── @ HashNode (location: (1,0)-(1,2)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (1,0)-(1,1) = "{" │ ├── elements: (length: 0) │ └── closing_loc: (1,1)-(1,2) = "}" ├── @ HashNode (location: (3,0)-(4,1)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (3,0)-(3,1) = "{" │ ├── elements: (length: 0) │ └── closing_loc: (4,0)-(4,1) = "}" ├── @ HashNode (location: (6,0)-(6,18)) + │ ├── flags: newline │ ├── opening_loc: (6,0)-(6,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (6,2)-(6,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ CallNode (location: (6,2)-(6,3)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -39,6 +45,7 @@ │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (6,4)-(6,6) = "=>" │ │ └── @ AssocNode (location: (6,10)-(6,16)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ CallNode (location: (6,10)-(6,11)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -64,9 +71,11 @@ │ │ └── operator_loc: (6,12)-(6,14) = "=>" │ └── closing_loc: (6,17)-(6,18) = "}" ├── @ HashNode (location: (8,0)-(8,15)) + │ ├── flags: newline │ ├── opening_loc: (8,0)-(8,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (8,2)-(8,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ CallNode (location: (8,2)-(8,3)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -91,6 +100,7 @@ │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (8,4)-(8,6) = "=>" │ │ └── @ AssocSplatNode (location: (8,10)-(8,13)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (8,12)-(8,13)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -105,12 +115,14 @@ │ │ └── operator_loc: (8,10)-(8,12) = "**" │ └── closing_loc: (8,14)-(8,15) = "}" ├── @ HashNode (location: (10,0)-(16,5)) + │ ├── flags: newline │ ├── opening_loc: (10,0)-(10,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (11,6)-(11,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (11,6)-(11,8)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (11,6)-(11,7) = "a" │ │ │ │ ├── closing_loc: (11,7)-(11,8) = ":" @@ -128,9 +140,10 @@ │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: ∅ │ │ └── @ AssocNode (location: (12,6)-(12,10)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (12,6)-(12,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (12,6)-(12,7) = "c" │ │ │ ├── closing_loc: (12,7)-(12,8) = ":" @@ -149,12 +162,14 @@ │ │ └── operator_loc: ∅ │ └── closing_loc: (16,4)-(16,5) = "}" ├── @ HashNode (location: (18,0)-(18,25)) + │ ├── flags: newline │ ├── opening_loc: (18,0)-(18,1) = "{" │ ├── elements: (length: 4) │ │ ├── @ AssocNode (location: (18,2)-(18,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (18,2)-(18,4)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (18,2)-(18,3) = "a" │ │ │ │ ├── closing_loc: (18,3)-(18,4) = ":" @@ -172,9 +187,10 @@ │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: ∅ │ │ ├── @ AssocNode (location: (18,8)-(18,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (18,8)-(18,10)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (18,8)-(18,9) = "c" │ │ │ │ ├── closing_loc: (18,9)-(18,10) = ":" @@ -192,6 +208,7 @@ │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: ∅ │ │ ├── @ AssocSplatNode (location: (18,14)-(18,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ CallNode (location: (18,16)-(18,17)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -205,9 +222,10 @@ │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: (18,14)-(18,16) = "**" │ │ └── @ AssocNode (location: (18,19)-(18,23)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (18,19)-(18,21)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (18,19)-(18,20) = "f" │ │ │ ├── closing_loc: (18,20)-(18,21) = ":" @@ -226,12 +244,14 @@ │ │ └── operator_loc: ∅ │ └── closing_loc: (18,24)-(18,25) = "}" ├── @ HashNode (location: (20,0)-(20,12)) + │ ├── flags: newline │ ├── opening_loc: (20,0)-(20,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (20,2)-(20,10)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (20,2)-(20,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (20,2)-(20,3) = "\"" │ │ │ ├── value_loc: (20,3)-(20,4) = "a" │ │ │ ├── closing_loc: (20,4)-(20,6) = "\":" @@ -260,16 +280,17 @@ │ │ └── operator_loc: ∅ │ └── closing_loc: (20,11)-(20,12) = "}" ├── @ LocalVariableWriteNode (location: (22,0)-(22,5)) + │ ├── flags: newline │ ├── name: :a │ ├── depth: 0 │ ├── name_loc: (22,0)-(22,1) = "a" │ ├── value: │ │ @ IntegerNode (location: (22,4)-(22,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (22,2)-(22,3) = "=" ├── @ CallNode (location: (23,0)-(26,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -279,63 +300,75 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (23,4)-(26,3)) + │ ├── flags: ∅ │ ├── locals: [:b] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (24,2)-(25,20)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ LocalVariableWriteNode (location: (24,2)-(24,7)) + │ │ │ ├── flags: newline │ │ │ ├── name: :b │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (24,2)-(24,3) = "b" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (24,6)-(24,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: (24,4)-(24,5) = "=" │ │ └── @ HashNode (location: (25,2)-(25,20)) + │ │ ├── flags: newline │ │ ├── opening_loc: (25,2)-(25,3) = "{" │ │ ├── elements: (length: 4) │ │ │ ├── @ AssocNode (location: (25,4)-(25,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (25,4)-(25,6)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "a" │ │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":" │ │ │ │ │ └── unescaped: "a" │ │ │ │ ├── value: │ │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── value: │ │ │ │ │ @ LocalVariableReadNode (location: (25,4)-(25,6)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :a │ │ │ │ │ └── depth: 1 │ │ │ │ └── operator_loc: ∅ │ │ │ ├── @ AssocNode (location: (25,8)-(25,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (25,8)-(25,10)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (25,8)-(25,9) = "b" │ │ │ │ │ ├── closing_loc: (25,9)-(25,10) = ":" │ │ │ │ │ └── unescaped: "b" │ │ │ │ ├── value: │ │ │ │ │ @ ImplicitNode (location: (25,8)-(25,10)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── value: │ │ │ │ │ @ LocalVariableReadNode (location: (25,8)-(25,10)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :b │ │ │ │ │ └── depth: 0 │ │ │ │ └── operator_loc: ∅ │ │ │ ├── @ AssocNode (location: (25,12)-(25,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (25,12)-(25,14)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (25,12)-(25,13) = "c" │ │ │ │ │ ├── closing_loc: (25,13)-(25,14) = ":" │ │ │ │ │ └── unescaped: "c" │ │ │ │ ├── value: │ │ │ │ │ @ ImplicitNode (location: (25,12)-(25,14)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── value: │ │ │ │ │ @ CallNode (location: (25,12)-(25,14)) │ │ │ │ │ ├── flags: ignore_visibility @@ -349,36 +382,41 @@ │ │ │ │ │ └── block: ∅ │ │ │ │ └── operator_loc: ∅ │ │ │ └── @ AssocNode (location: (25,16)-(25,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (25,16)-(25,18)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (25,16)-(25,17) = "D" │ │ │ │ ├── closing_loc: (25,17)-(25,18) = ":" │ │ │ │ └── unescaped: "D" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (25,16)-(25,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ ConstantReadNode (location: (25,16)-(25,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :D │ │ │ └── operator_loc: ∅ │ │ └── closing_loc: (25,19)-(25,20) = "}" │ ├── opening_loc: (23,4)-(23,6) = "do" │ └── closing_loc: (26,0)-(26,3) = "end" └── @ HashNode (location: (28,0)-(28,9)) + ├── flags: newline, static_literal ├── opening_loc: (28,0)-(28,1) = "{" ├── elements: (length: 1) │ └── @ AssocNode (location: (28,2)-(28,7)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (28,2)-(28,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (28,2)-(28,3) = "a" │ │ ├── closing_loc: (28,3)-(28,4) = ":" │ │ └── unescaped: "a" │ ├── value: │ │ @ IntegerNode (location: (28,5)-(28,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: -1 │ └── operator_loc: ∅ └── closing_loc: (28,8)-(28,9) = "}" diff --git a/test/prism/snapshots/heredoc.txt b/test/prism/snapshots/heredoc.txt index 3ca66dd989..7145f0f752 100644 --- a/test/prism/snapshots/heredoc.txt +++ b/test/prism/snapshots/heredoc.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,6) = "<<TEXT" ├── content_loc: (2,0)-(2,0) = "" ├── closing_loc: (2,0)-(3,0) = "TEXT\n" diff --git a/test/prism/snapshots/heredoc_with_carriage_returns.txt b/test/prism/snapshots/heredoc_with_carriage_returns.txt index 134f863234..12130daa75 100644 --- a/test/prism/snapshots/heredoc_with_carriage_returns.txt +++ b/test/prism/snapshots/heredoc_with_carriage_returns.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,6) = "<<TEXT" ├── content_loc: (2,0)-(2,0) = "" ├── closing_loc: (2,0)-(3,0) = "TEXT\r\n" diff --git a/test/prism/snapshots/heredoc_with_comment.txt b/test/prism/snapshots/heredoc_with_comment.txt index f2225ca981..5c244e50e4 100644 --- a/test/prism/snapshots/heredoc_with_comment.txt +++ b/test/prism/snapshots/heredoc_with_comment.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ StringNode (location: (1,0)-(1,9)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt b/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt index acc6b082fc..d20d481e33 100644 --- a/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt +++ b/test/prism/snapshots/heredoc_with_escaped_newline_at_start.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,25)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,25)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ StringNode (location: (1,0)-(1,9)) │ │ ├── flags: ∅ @@ -21,7 +23,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ RegularExpressionNode (location: (1,15)-(1,21)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,15)-(1,16) = "/" │ │ │ ├── content_loc: (1,16)-(1,20) = "^\\s{" │ │ │ ├── closing_loc: (1,20)-(1,21) = "/" @@ -35,7 +37,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,25)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ StringNode (location: (5,0)-(5,9)) │ ├── flags: ∅ @@ -52,7 +54,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ RegularExpressionNode (location: (5,15)-(5,21)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,15)-(5,16) = "/" │ │ ├── content_loc: (5,16)-(5,20) = "^\\s{" │ │ ├── closing_loc: (5,20)-(5,21) = "/" diff --git a/test/prism/snapshots/heredoc_with_trailing_newline.txt b/test/prism/snapshots/heredoc_with_trailing_newline.txt index b064931aa8..90061708d0 100644 --- a/test/prism/snapshots/heredoc_with_trailing_newline.txt +++ b/test/prism/snapshots/heredoc_with_trailing_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,6) = "<<-END" ├── content_loc: (2,0)-(2,0) = "" ├── closing_loc: (2,0)-(2,3) = "END" diff --git a/test/prism/snapshots/heredocs_leading_whitespace.txt b/test/prism/snapshots/heredocs_leading_whitespace.txt index dbcb0d5a19..6101cd02d3 100644 --- a/test/prism/snapshots/heredocs_leading_whitespace.txt +++ b/test/prism/snapshots/heredocs_leading_whitespace.txt @@ -1,61 +1,63 @@ @ ProgramNode (location: (1,0)-(26,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(26,10)) + ├── flags: ∅ └── body: (length: 6) ├── @ StringNode (location: (1,0)-(1,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,10) = "<<-' FOO'" │ ├── content_loc: (2,0)-(4,0) = "a\nb\n" │ ├── closing_loc: (4,0)-(5,0) = " FOO\n" │ └── unescaped: "a\nb\n" ├── @ StringNode (location: (6,0)-(6,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (6,0)-(6,10) = "<<-\" FOO\"" │ ├── content_loc: (7,0)-(9,0) = "a\nb\n" │ ├── closing_loc: (9,0)-(10,0) = " FOO\n" │ └── unescaped: "a\nb\n" ├── @ XStringNode (location: (11,0)-(11,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (11,0)-(11,10) = "<<-` FOO`" │ ├── content_loc: (12,0)-(14,0) = "a\nb\n" │ ├── closing_loc: (14,0)-(15,0) = " FOO\n" │ └── unescaped: "a\nb\n" ├── @ StringNode (location: (16,0)-(16,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (16,0)-(16,10) = "<<-' FOO'" │ ├── content_loc: (17,0)-(19,0) = "a\nb\n" │ ├── closing_loc: (19,0)-(20,0) = " FOO\n" │ └── unescaped: "a\nb\n" ├── @ InterpolatedStringNode (location: (21,0)-(21,10)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (21,0)-(21,10) = "<<~' FOO'" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (22,0)-(23,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (22,0)-(23,0) = "a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── @ StringNode (location: (23,0)-(24,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (23,0)-(24,0) = "b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n" │ └── closing_loc: (24,0)-(25,0) = " FOO\n" └── @ InterpolatedStringNode (location: (26,0)-(26,10)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── opening_loc: (26,0)-(26,10) = "<<~' FOO'" ├── parts: (length: 2) │ ├── @ StringNode (location: (27,0)-(28,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (27,0)-(28,0) = "a\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\n" │ └── @ StringNode (location: (28,0)-(29,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (28,0)-(29,0) = "b\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/heredocs_nested.txt b/test/prism/snapshots/heredocs_nested.txt index da13e48c51..08576915dc 100644 --- a/test/prism/snapshots/heredocs_nested.txt +++ b/test/prism/snapshots/heredocs_nested.txt @@ -1,76 +1,86 @@ @ ProgramNode (location: (1,0)-(12,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(12,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ InterpolatedStringNode (location: (1,0)-(1,7)) - │ ├── flags: mutable + │ ├── flags: newline, static_literal, mutable │ ├── opening_loc: (1,0)-(1,7) = "<<~RUBY" │ ├── parts: (length: 4) │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (2,0)-(3,0) = "pre\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "pre\n" │ │ ├── @ EmbeddedStatementsNode (location: (3,0)-(7,1)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (3,0)-(3,2) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (4,0)-(4,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ StringNode (location: (4,0)-(4,6)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: (4,0)-(4,6) = "<<RUBY" │ │ │ │ ├── content_loc: (5,0)-(6,0) = " hello\n" │ │ │ │ ├── closing_loc: (6,0)-(7,0) = "RUBY\n" │ │ │ │ └── unescaped: " hello\n" │ │ │ └── closing_loc: (7,0)-(7,1) = "}" │ │ ├── @ StringNode (location: (7,1)-(8,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (7,1)-(8,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ └── @ StringNode (location: (8,0)-(9,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (8,0)-(9,0) = "post\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "post\n" │ └── closing_loc: (9,0)-(10,0) = "RUBY\n" └── @ InterpolatedStringNode (location: (12,0)-(12,4)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (12,0)-(12,4) = "<<-A" ├── parts: (length: 2) │ ├── @ EmbeddedStatementsNode (location: (13,0)-(21,1)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (13,0)-(13,2) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (14,0)-(14,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ InterpolatedStringNode (location: (14,0)-(14,4)) │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (14,0)-(14,4) = "<<-B" │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ EmbeddedStatementsNode (location: (15,0)-(19,1)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── opening_loc: (15,0)-(15,2) = "\#{" │ │ │ │ │ ├── statements: │ │ │ │ │ │ @ StatementsNode (location: (16,0)-(16,4)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ InterpolatedStringNode (location: (16,0)-(16,4)) │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── opening_loc: (16,0)-(16,4) = "<<-C" │ │ │ │ │ │ ├── parts: (length: 2) │ │ │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (17,0)-(17,4)) + │ │ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ │ │ ├── opening_loc: (17,0)-(17,2) = "\#{" │ │ │ │ │ │ │ │ ├── statements: │ │ │ │ │ │ │ │ │ @ StatementsNode (location: (17,2)-(17,3)) + │ │ │ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ │ │ │ └── @ IntegerNode (location: (17,2)-(17,3)) - │ │ │ │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ │ │ │ └── value: 3 │ │ │ │ │ │ │ │ └── closing_loc: (17,3)-(17,4) = "}" │ │ │ │ │ │ │ └── @ StringNode (location: (17,4)-(18,0)) - │ │ │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ ├── content_loc: (17,4)-(18,0) = "\n" │ │ │ │ │ │ │ ├── closing_loc: ∅ @@ -78,7 +88,7 @@ │ │ │ │ │ │ └── closing_loc: (18,0)-(19,0) = "C\n" │ │ │ │ │ └── closing_loc: (19,0)-(19,1) = "}" │ │ │ │ └── @ StringNode (location: (19,1)-(20,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (19,1)-(20,0) = "\n" │ │ │ │ ├── closing_loc: ∅ @@ -86,7 +96,7 @@ │ │ │ └── closing_loc: (20,0)-(21,0) = "B\n" │ │ └── closing_loc: (21,0)-(21,1) = "}" │ └── @ StringNode (location: (21,1)-(22,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (21,1)-(22,0) = "\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/heredocs_with_ignored_newlines.txt b/test/prism/snapshots/heredocs_with_ignored_newlines.txt index 0f964ec294..16675029e1 100644 --- a/test/prism/snapshots/heredocs_with_ignored_newlines.txt +++ b/test/prism/snapshots/heredocs_with_ignored_newlines.txt @@ -1,68 +1,70 @@ @ ProgramNode (location: (1,0)-(4,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,8)) + ├── flags: ∅ └── body: (length: 2) ├── @ StringNode (location: (1,0)-(1,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,7) = "<<-HERE" │ ├── content_loc: (2,0)-(2,0) = "" │ ├── closing_loc: (2,0)-(3,0) = "HERE\n" │ └── unescaped: "" └── @ InterpolatedStringNode (location: (4,0)-(4,8)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── opening_loc: (4,0)-(4,8) = "<<~THERE" ├── parts: (length: 9) │ ├── @ StringNode (location: (5,0)-(6,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (5,0)-(6,0) = " way over\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "way over\n" │ ├── @ StringNode (location: (6,0)-(7,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (6,0)-(7,0) = " <<HERE\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "<<HERE\n" │ ├── @ StringNode (location: (7,0)-(8,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (7,0)-(8,0) = " not here\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " not here\n" │ ├── @ StringNode (location: (8,0)-(9,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (8,0)-(9,0) = " HERE\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "HERE\n" │ ├── @ StringNode (location: (9,0)-(10,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (9,0)-(10,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ ├── @ StringNode (location: (10,0)-(11,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (10,0)-(11,0) = " <<~BUT\\\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "<<~BUT" │ ├── @ StringNode (location: (11,0)-(12,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (11,0)-(12,0) = " but\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " but\n" │ ├── @ StringNode (location: (12,0)-(13,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (12,0)-(13,0) = " BUT\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "BUT\n" │ └── @ StringNode (location: (13,0)-(14,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (13,0)-(14,0) = " there\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/heredocs_with_ignored_newlines_and_non_empty.txt b/test/prism/snapshots/heredocs_with_ignored_newlines_and_non_empty.txt index df422f0c1c..5fd24c85c4 100644 --- a/test/prism/snapshots/heredocs_with_ignored_newlines_and_non_empty.txt +++ b/test/prism/snapshots/heredocs_with_ignored_newlines_and_non_empty.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,6) = "<<-EOE" ├── content_loc: (2,0)-(4,0) = " some\n heredocs\n" ├── closing_loc: (4,0)-(4,3) = "EOE" diff --git a/test/prism/snapshots/if.txt b/test/prism/snapshots/if.txt index 4114d22722..bf756959e7 100644 --- a/test/prism/snapshots/if.txt +++ b/test/prism/snapshots/if.txt @@ -1,98 +1,126 @@ @ ProgramNode (location: (1,0)-(42,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(42,3)) + ├── flags: ∅ └── body: (length: 13) ├── @ IfNode (location: (1,0)-(1,15)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (1,3)-(1,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,9)-(1,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,9)-(1,10)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── consequent: ∅ │ └── end_keyword_loc: (1,12)-(1,15) = "end" ├── @ IfNode (location: (3,0)-(4,12)) + │ ├── flags: newline │ ├── if_keyword_loc: (3,0)-(3,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (3,3)-(3,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (4,0)-(4,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (4,0)-(4,1)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── consequent: │ │ @ ElseNode (location: (4,2)-(4,12)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (4,2)-(4,6) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (4,7)-(4,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (4,7)-(4,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 2 │ │ └── end_keyword_loc: (4,9)-(4,12) = "end" │ └── end_keyword_loc: (4,9)-(4,12) = "end" ├── @ IfNode (location: (6,0)-(6,73)) + │ ├── flags: newline │ ├── if_keyword_loc: (6,0)-(6,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (6,3)-(6,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: (6,8)-(6,12) = "then" │ ├── statements: │ │ @ StatementsNode (location: (6,13)-(6,17)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ TrueNode (location: (6,13)-(6,17)) + │ │ └── flags: newline, static_literal │ ├── consequent: │ │ @ IfNode (location: (6,18)-(6,73)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (6,18)-(6,23) = "elsif" │ │ ├── predicate: │ │ │ @ FalseNode (location: (6,24)-(6,29)) + │ │ │ └── flags: static_literal │ │ ├── then_keyword_loc: (6,30)-(6,34) = "then" │ │ ├── statements: │ │ │ @ StatementsNode (location: (6,35)-(6,40)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ FalseNode (location: (6,35)-(6,40)) + │ │ │ └── flags: newline, static_literal │ │ ├── consequent: │ │ │ @ IfNode (location: (6,41)-(6,73)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (6,41)-(6,46) = "elsif" │ │ │ ├── predicate: │ │ │ │ @ NilNode (location: (6,47)-(6,50)) + │ │ │ │ └── flags: static_literal │ │ │ ├── then_keyword_loc: (6,51)-(6,55) = "then" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (6,56)-(6,59)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ NilNode (location: (6,56)-(6,59)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── consequent: │ │ │ │ @ ElseNode (location: (6,60)-(6,73)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── else_keyword_loc: (6,60)-(6,64) = "else" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (6,65)-(6,69)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ SelfNode (location: (6,65)-(6,69)) + │ │ │ │ │ └── flags: newline │ │ │ │ └── end_keyword_loc: (6,70)-(6,73) = "end" │ │ │ └── end_keyword_loc: (6,70)-(6,73) = "end" │ │ └── end_keyword_loc: (6,70)-(6,73) = "end" │ └── end_keyword_loc: (6,70)-(6,73) = "end" ├── @ IfNode (location: (8,0)-(8,9)) + │ ├── flags: newline │ ├── if_keyword_loc: (8,2)-(8,4) = "if" │ ├── predicate: │ │ @ TrueNode (location: (8,5)-(8,9)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (8,0)-(8,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (8,0)-(8,1)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ CallNode (location: (10,0)-(10,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -102,20 +130,26 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (10,4)-(10,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (10,6)-(10,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IfNode (location: (10,6)-(10,19)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (10,12)-(10,14) = "if" │ │ ├── predicate: │ │ │ @ TrueNode (location: (10,15)-(10,19)) + │ │ │ └── flags: static_literal │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (10,6)-(10,11)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ BreakNode (location: (10,6)-(10,11)) + │ │ │ ├── flags: newline │ │ │ ├── arguments: ∅ │ │ │ └── keyword_loc: (10,6)-(10,11) = "break" │ │ ├── consequent: ∅ @@ -123,7 +157,7 @@ │ ├── opening_loc: (10,4)-(10,5) = "{" │ └── closing_loc: (10,20)-(10,21) = "}" ├── @ CallNode (location: (12,0)-(12,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -133,20 +167,26 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (12,4)-(12,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (12,6)-(12,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IfNode (location: (12,6)-(12,18)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (12,11)-(12,13) = "if" │ │ ├── predicate: │ │ │ @ TrueNode (location: (12,14)-(12,18)) + │ │ │ └── flags: static_literal │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (12,6)-(12,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ NextNode (location: (12,6)-(12,10)) + │ │ │ ├── flags: newline │ │ │ ├── arguments: ∅ │ │ │ └── keyword_loc: (12,6)-(12,10) = "next" │ │ ├── consequent: ∅ @@ -154,21 +194,24 @@ │ ├── opening_loc: (12,4)-(12,5) = "{" │ └── closing_loc: (12,19)-(12,20) = "}" ├── @ IfNode (location: (14,0)-(14,14)) + │ ├── flags: newline │ ├── if_keyword_loc: (14,7)-(14,9) = "if" │ ├── predicate: │ │ @ TrueNode (location: (14,10)-(14,14)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (14,0)-(14,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ReturnNode (location: (14,0)-(14,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (14,0)-(14,6) = "return" │ │ └── arguments: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ CallNode (location: (16,0)-(16,38)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -178,12 +221,15 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (16,4)-(16,38)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (16,6)-(16,36)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IfNode (location: (16,6)-(16,36)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (16,6)-(16,8) = "if" │ │ ├── predicate: │ │ │ @ CallNode (location: (16,9)-(16,18)) @@ -199,14 +245,16 @@ │ │ ├── then_keyword_loc: (16,19)-(16,23) = "then" │ │ ├── statements: │ │ │ @ StatementsNode (location: (16,24)-(16,32)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ BreakNode (location: (16,24)-(16,32)) + │ │ │ ├── flags: newline │ │ │ ├── arguments: │ │ │ │ @ ArgumentsNode (location: (16,30)-(16,32)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (16,30)-(16,32)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ └── keyword_loc: (16,24)-(16,29) = "break" │ │ ├── consequent: ∅ @@ -214,6 +262,7 @@ │ ├── opening_loc: (16,4)-(16,5) = "{" │ └── closing_loc: (16,37)-(16,38) = "}" ├── @ IfNode (location: (18,0)-(20,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (18,0)-(18,2) = "if" │ ├── predicate: │ │ @ CallNode (location: (18,3)-(18,6)) @@ -229,9 +278,10 @@ │ ├── then_keyword_loc: (19,0)-(19,4) = "then" │ ├── statements: │ │ @ StatementsNode (location: (19,5)-(19,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (19,5)-(19,8)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -243,6 +293,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (20,0)-(20,3) = "end" ├── @ IfNode (location: (22,0)-(22,11)) + │ ├── flags: newline │ ├── if_keyword_loc: (22,7)-(22,9) = "if" │ ├── predicate: │ │ @ CallNode (location: (22,10)-(22,11)) @@ -258,8 +309,10 @@ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (22,0)-(22,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IfNode (location: (22,0)-(22,6)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (22,2)-(22,4) = "if" │ │ ├── predicate: │ │ │ @ CallNode (location: (22,5)-(22,6)) @@ -275,9 +328,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (22,0)-(22,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (22,0)-(22,1)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -291,15 +345,18 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (24,0)-(27,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (24,0)-(24,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (24,3)-(24,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (25,2)-(25,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (25,2)-(25,6)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -313,15 +370,17 @@ │ │ │ ├── flags: symbol_keys │ │ │ └── elements: (length: 1) │ │ │ └── @ AssocNode (location: (25,4)-(25,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (25,4)-(25,6)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (25,4)-(25,5) = "b" │ │ │ │ ├── closing_loc: (25,5)-(25,6) = ":" │ │ │ │ └── unescaped: "b" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (25,4)-(25,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ CallNode (location: (25,4)-(25,6)) │ │ │ │ ├── flags: ignore_visibility @@ -338,14 +397,17 @@ │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (26,0)-(27,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (26,0)-(26,4) = "else" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (27,0)-(27,3) = "end" │ └── end_keyword_loc: (27,0)-(27,3) = "end" ├── @ IfNode (location: (29,0)-(31,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (29,0)-(29,2) = "if" │ ├── predicate: │ │ @ MatchPredicateNode (location: (29,3)-(29,12)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (29,3)-(29,7)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -359,16 +421,18 @@ │ │ │ └── block: ∅ │ │ ├── pattern: │ │ │ @ IntegerNode (location: (29,11)-(29,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (29,8)-(29,10) = "in" │ ├── then_keyword_loc: ∅ │ ├── statements: ∅ │ ├── consequent: │ │ @ IfNode (location: (30,0)-(31,3)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (30,0)-(30,5) = "elsif" │ │ ├── predicate: │ │ │ @ MatchPredicateNode (location: (30,6)-(30,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ CallNode (location: (30,6)-(30,10)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -382,6 +446,7 @@ │ │ │ │ └── block: ∅ │ │ │ ├── pattern: │ │ │ │ @ ConstantReadNode (location: (30,14)-(30,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :B │ │ │ └── operator_loc: (30,11)-(30,13) = "in" │ │ ├── then_keyword_loc: ∅ @@ -390,6 +455,7 @@ │ │ └── end_keyword_loc: (31,0)-(31,3) = "end" │ └── end_keyword_loc: (31,0)-(31,3) = "end" └── @ IfNode (location: (33,0)-(42,3)) + ├── flags: newline ├── if_keyword_loc: (33,0)-(33,2) = "if" ├── predicate: │ @ CallNode (location: (33,3)-(33,5)) @@ -405,9 +471,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (34,2)-(35,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (34,2)-(35,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :lambda @@ -417,11 +484,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (34,9)-(35,5)) + │ ├── flags: ∅ │ ├── locals: [:_] │ ├── parameters: │ │ @ BlockParametersNode (location: (34,12)-(34,15)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (34,13)-(34,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (34,13)-(34,14)) │ │ │ │ ├── flags: ∅ @@ -440,6 +510,7 @@ │ └── closing_loc: (35,2)-(35,5) = "end" ├── consequent: │ @ IfNode (location: (36,0)-(42,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (36,0)-(36,5) = "elsif" │ ├── predicate: │ │ @ CallNode (location: (36,6)-(36,8)) @@ -455,9 +526,10 @@ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (37,2)-(38,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (37,2)-(38,5)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :lambda @@ -467,11 +539,14 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (37,9)-(38,5)) + │ │ ├── flags: ∅ │ │ ├── locals: [:_] │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (37,12)-(37,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (37,13)-(37,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (37,13)-(37,14)) │ │ │ │ │ ├── flags: ∅ @@ -490,12 +565,14 @@ │ │ └── closing_loc: (38,2)-(38,5) = "end" │ ├── consequent: │ │ @ ElseNode (location: (39,0)-(42,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (39,0)-(39,4) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (40,2)-(41,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (40,2)-(41,5)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :lambda @@ -505,11 +582,14 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (40,9)-(41,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [:_] │ │ │ ├── parameters: │ │ │ │ @ BlockParametersNode (location: (40,12)-(40,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── parameters: │ │ │ │ │ @ ParametersNode (location: (40,13)-(40,14)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ │ └── @ RequiredParameterNode (location: (40,13)-(40,14)) │ │ │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/indented_file_end.txt b/test/prism/snapshots/indented_file_end.txt index aa43ec5a1e..6160f6b51e 100644 --- a/test/prism/snapshots/indented_file_end.txt +++ b/test/prism/snapshots/indented_file_end.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,4)-(3,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,4)-(3,7)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,4)-(3,7)) + ├── flags: newline ├── name: :hi ├── name_loc: (1,8)-(1,10) = "hi" ├── receiver: ∅ diff --git a/test/prism/snapshots/integer_operations.txt b/test/prism/snapshots/integer_operations.txt index 4dda43e38c..39a2d8eebf 100644 --- a/test/prism/snapshots/integer_operations.txt +++ b/test/prism/snapshots/integer_operations.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(63,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(63,7)) + ├── flags: ∅ └── body: (length: 32) ├── @ CallNode (location: (1,0)-(1,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (1,1)-(1,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :! @@ -17,10 +19,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (3,1)-(3,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :~ @@ -30,10 +32,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (5,0)-(5,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :!= @@ -44,15 +46,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (5,5)-(5,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (7,0)-(7,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :!~ @@ -63,15 +65,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (7,5)-(7,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (9,0)-(9,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :% @@ -82,15 +84,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (9,4)-(9,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (11,0)-(11,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :& @@ -101,15 +103,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (11,4)-(11,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (13,0)-(13,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (13,0)-(13,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :* @@ -120,15 +122,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (13,4)-(13,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (15,0)-(15,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :** @@ -139,15 +141,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (15,3)-(15,4)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (17,0)-(17,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (17,0)-(17,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :+ @@ -158,15 +160,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (17,4)-(17,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (19,0)-(19,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (19,0)-(19,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :- @@ -177,15 +179,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (19,4)-(19,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (21,0)-(21,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (21,0)-(21,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :/ @@ -196,18 +198,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (21,4)-(21,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (23,0)-(23,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,3)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (23,0)-(23,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :/ @@ -218,7 +220,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (23,2)-(23,3)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -231,15 +233,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (23,4)-(23,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ IntegerNode (location: (25,0)-(25,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :< @@ -250,15 +252,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (25,4)-(25,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (27,0)-(27,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (27,0)-(27,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :<< @@ -269,15 +271,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (27,5)-(27,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ IntegerNode (location: (29,0)-(29,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :<= @@ -288,15 +290,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (29,5)-(29,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (31,0)-(31,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :<=> @@ -307,15 +309,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (31,6)-(31,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (33,0)-(33,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :== @@ -326,15 +328,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (33,5)-(33,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (35,0)-(35,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :=== @@ -345,15 +347,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (35,6)-(35,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (37,0)-(37,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (37,0)-(37,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :=~ @@ -364,15 +366,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (37,5)-(37,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ IntegerNode (location: (39,0)-(39,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :> @@ -383,15 +385,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (39,4)-(39,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (41,0)-(41,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ IntegerNode (location: (41,0)-(41,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :>= @@ -402,15 +404,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (41,5)-(41,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (43,0)-(43,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (43,0)-(43,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :>> @@ -421,15 +423,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (43,5)-(43,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (45,0)-(45,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :^ @@ -440,15 +442,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (45,4)-(45,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (47,0)-(47,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :| @@ -459,35 +461,37 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (47,4)-(47,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ AndNode (location: (49,0)-(49,6)) + │ ├── flags: newline │ ├── left: │ │ @ IntegerNode (location: (49,0)-(49,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ IntegerNode (location: (49,5)-(49,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (49,2)-(49,4) = "&&" ├── @ AndNode (location: (51,0)-(51,7)) + │ ├── flags: newline │ ├── left: │ │ @ IntegerNode (location: (51,0)-(51,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ IntegerNode (location: (51,6)-(51,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (51,2)-(51,5) = "and" ├── @ CallNode (location: (53,0)-(53,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (53,0)-(53,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :* @@ -501,7 +505,7 @@ │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (53,4)-(53,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :** @@ -512,20 +516,20 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (53,9)-(53,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (55,0)-(55,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (55,0)-(55,5)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (55,0)-(55,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :* @@ -536,7 +540,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (55,4)-(55,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -549,35 +553,37 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (55,8)-(55,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ OrNode (location: (57,0)-(57,6)) + │ ├── flags: newline │ ├── left: │ │ @ IntegerNode (location: (57,0)-(57,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ IntegerNode (location: (57,5)-(57,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (57,2)-(57,4) = "or" ├── @ OrNode (location: (59,0)-(59,6)) + │ ├── flags: newline │ ├── left: │ │ @ IntegerNode (location: (59,0)-(59,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ IntegerNode (location: (59,5)-(59,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (59,2)-(59,4) = "||" ├── @ CallNode (location: (61,0)-(61,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (61,0)-(61,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :+ @@ -591,7 +597,7 @@ │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (61,4)-(61,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :* @@ -602,21 +608,23 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (61,8)-(61,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ ParenthesesNode (location: (63,0)-(63,7)) + ├── flags: newline ├── body: │ @ StatementsNode (location: (63,1)-(63,6)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (63,1)-(63,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (63,1)-(63,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :+ @@ -627,7 +635,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (63,5)-(63,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/keyword_method_names.txt b/test/prism/snapshots/keyword_method_names.txt index 6d59790b07..6bb4d97084 100644 --- a/test/prism/snapshots/keyword_method_names.txt +++ b/test/prism/snapshots/keyword_method_names.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(29,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(29,3)) + ├── flags: ∅ └── body: (length: 10) ├── @ DefNode (location: (1,0)-(2,3)) + │ ├── flags: newline │ ├── name: :def │ ├── name_loc: (1,4)-(1,7) = "def" │ ├── receiver: ∅ @@ -17,10 +20,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (2,0)-(2,3) = "end" ├── @ DefNode (location: (4,0)-(5,3)) + │ ├── flags: newline │ ├── name: :ensure │ ├── name_loc: (4,9)-(4,15) = "ensure" │ ├── receiver: │ │ @ SelfNode (location: (4,4)-(4,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -31,7 +36,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ CallNode (location: (7,0)-(10,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :private @@ -42,15 +47,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ DefNode (location: (7,8)-(10,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ ├── name_loc: (7,12)-(7,15) = "foo" │ │ ├── receiver: ∅ │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (8,2)-(9,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (8,2)-(9,5)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -60,6 +67,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (8,6)-(9,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -75,11 +83,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ DefNode (location: (12,0)-(13,3)) + │ ├── flags: newline │ ├── name: :m │ ├── name_loc: (12,4)-(12,5) = "m" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (12,6)-(12,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (12,6)-(12,7)) │ │ │ ├── flags: ∅ @@ -90,6 +100,7 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ NoKeywordsParameterNode (location: (12,9)-(12,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (12,9)-(12,11) = "**" │ │ │ └── keyword_loc: (12,11)-(12,14) = "nil" │ │ └── block: ∅ @@ -102,10 +113,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (13,0)-(13,3) = "end" ├── @ DefNode (location: (15,0)-(16,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (15,17)-(15,18) = "a" │ ├── receiver: │ │ @ SourceEncodingNode (location: (15,4)-(15,16)) + │ │ └── flags: static_literal │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -116,18 +129,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (16,0)-(16,3) = "end" ├── @ StringNode (location: (18,0)-(18,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (18,0)-(18,2) = "%{" │ ├── content_loc: (18,2)-(18,5) = "abc" │ ├── closing_loc: (18,5)-(18,6) = "}" │ └── unescaped: "abc" ├── @ StringNode (location: (20,0)-(20,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (20,0)-(20,2) = "%\"" │ ├── content_loc: (20,2)-(20,5) = "abc" │ ├── closing_loc: (20,5)-(20,6) = "\"" │ └── unescaped: "abc" ├── @ DefNode (location: (22,0)-(23,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (22,13)-(22,14) = "a" │ ├── receiver: @@ -144,10 +158,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (23,0)-(23,3) = "end" ├── @ DefNode (location: (25,0)-(26,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (25,13)-(25,14) = "a" │ ├── receiver: │ │ @ SourceLineNode (location: (25,4)-(25,12)) + │ │ └── flags: static_literal │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -158,10 +174,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (26,0)-(26,3) = "end" └── @ DefNode (location: (28,0)-(29,3)) + ├── flags: newline ├── name: :a ├── name_loc: (28,9)-(28,10) = "a" ├── receiver: │ @ NilNode (location: (28,4)-(28,7)) + │ └── flags: static_literal ├── parameters: ∅ ├── body: ∅ ├── locals: [] diff --git a/test/prism/snapshots/keywords.txt b/test/prism/snapshots/keywords.txt index b3d5c5e1c3..afe1bad483 100644 --- a/test/prism/snapshots/keywords.txt +++ b/test/prism/snapshots/keywords.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(11,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(11,8)) + ├── flags: ∅ └── body: (length: 6) ├── @ CallNode (location: (1,0)-(1,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -14,34 +16,44 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,6)-(1,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RedoNode (location: (1,6)-(1,10)) + │ │ └── flags: newline │ ├── opening_loc: (1,4)-(1,5) = "{" │ └── closing_loc: (1,11)-(1,12) = "}" ├── @ BeginNode (location: (3,0)-(3,25)) + │ ├── flags: newline │ ├── begin_keyword_loc: (3,0)-(3,5) = "begin" │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (3,7)-(3,20)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (3,7)-(3,13) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,15)-(3,20)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ RetryNode (location: (3,15)-(3,20)) + │ │ │ └── flags: newline │ │ └── consequent: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (3,22)-(3,25) = "end" ├── @ SelfNode (location: (5,0)-(5,4)) + │ └── flags: newline ├── @ SourceEncodingNode (location: (7,0)-(7,12)) + │ └── flags: newline, static_literal ├── @ SourceFileNode (location: (9,0)-(9,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ └── filepath: "keywords.txt" └── @ SourceLineNode (location: (11,0)-(11,8)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/lambda.txt b/test/prism/snapshots/lambda.txt index 0864b10369..90b0b523aa 100644 --- a/test/prism/snapshots/lambda.txt +++ b/test/prism/snapshots/lambda.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(11,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(11,18)) + ├── flags: ∅ └── body: (length: 5) ├── @ LambdaNode (location: (1,0)-(3,4)) + │ ├── flags: newline │ ├── locals: [:foo] │ ├── operator_loc: (1,0)-(1,2) = "->" │ ├── opening_loc: (3,2)-(3,3) = "{" │ ├── closing_loc: (3,3)-(3,4) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,2)-(3,1)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (2,2)-(2,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (2,2)-(2,5)) │ │ │ │ ├── flags: ∅ @@ -27,14 +32,17 @@ │ │ └── closing_loc: (3,0)-(3,1) = ")" │ └── body: ∅ ├── @ LambdaNode (location: (5,0)-(5,18)) + │ ├── flags: newline │ ├── locals: [:x] │ ├── operator_loc: (5,0)-(5,2) = "->" │ ├── opening_loc: (5,15)-(5,16) = "{" │ ├── closing_loc: (5,17)-(5,18) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (5,2)-(5,14)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (5,3)-(5,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -50,15 +58,17 @@ │ │ │ │ ├── opening_loc: (5,6)-(5,7) = "\"" │ │ │ │ ├── parts: (length: 2) │ │ │ │ │ ├── @ StringNode (location: (5,7)-(5,8)) - │ │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── content_loc: (5,7)-(5,8) = "b" │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ └── unescaped: "b" │ │ │ │ │ └── @ EmbeddedStatementsNode (location: (5,8)-(5,12)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── opening_loc: (5,8)-(5,10) = "\#{" │ │ │ │ │ ├── statements: │ │ │ │ │ │ @ StatementsNode (location: (5,10)-(5,11)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ CallNode (location: (5,10)-(5,11)) │ │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -79,14 +89,17 @@ │ │ └── closing_loc: (5,13)-(5,14) = ")" │ └── body: ∅ ├── @ LambdaNode (location: (7,0)-(7,15)) + │ ├── flags: newline │ ├── locals: [:a] │ ├── operator_loc: (7,0)-(7,2) = "->" │ ├── opening_loc: (7,13)-(7,14) = "{" │ ├── closing_loc: (7,14)-(7,15) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (7,2)-(7,12)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (7,3)-(7,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -119,7 +132,7 @@ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (7,10)-(7,11)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 3 │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: ∅ @@ -130,14 +143,17 @@ │ │ └── closing_loc: (7,11)-(7,12) = ")" │ └── body: ∅ ├── @ LambdaNode (location: (9,0)-(9,19)) + │ ├── flags: newline │ ├── locals: [:foo] │ ├── operator_loc: (9,0)-(9,2) = "->" │ ├── opening_loc: (9,13)-(9,15) = "do" │ ├── closing_loc: (9,16)-(9,19) = "end" │ ├── parameters: │ │ @ BlockParametersNode (location: (9,3)-(9,12)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (9,3)-(9,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 1) │ │ │ │ └── @ OptionalParameterNode (location: (9,3)-(9,12)) @@ -166,14 +182,17 @@ │ │ └── closing_loc: ∅ │ └── body: ∅ └── @ LambdaNode (location: (11,0)-(11,18)) + ├── flags: newline ├── locals: [:foo] ├── operator_loc: (11,0)-(11,2) = "->" ├── opening_loc: (11,12)-(11,14) = "do" ├── closing_loc: (11,15)-(11,18) = "end" ├── parameters: │ @ BlockParametersNode (location: (11,3)-(11,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (11,3)-(11,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/method_calls.txt b/test/prism/snapshots/method_calls.txt index 6082b567f7..4bf8f3c710 100644 --- a/test/prism/snapshots/method_calls.txt +++ b/test/prism/snapshots/method_calls.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(156,19)) +├── flags: ∅ ├── locals: [:foo] └── statements: @ StatementsNode (location: (1,0)-(156,19)) + ├── flags: ∅ └── body: (length: 67) ├── @ CallNode (location: (1,0)-(1,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -33,7 +35,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -76,7 +78,7 @@ │ ├── closing_loc: (3,8)-(3,9) = ")" │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -96,7 +98,7 @@ │ ├── closing_loc: (5,4)-(5,5) = ")" │ └── block: ∅ ├── @ CallNode (location: (7,0)-(9,7)) - │ ├── flags: safe_navigation + │ ├── flags: newline, safe_navigation │ ├── receiver: │ │ @ CallNode (location: (7,0)-(8,6)) │ │ ├── flags: ∅ @@ -126,7 +128,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a! @@ -136,7 +138,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (13,0)-(13,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (13,0)-(13,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -156,7 +158,7 @@ │ ├── closing_loc: (13,3)-(13,4) = ")" │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (15,0)-(15,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -177,18 +179,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 3) │ │ ├── @ IntegerNode (location: (15,3)-(15,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── @ IntegerNode (location: (15,6)-(15,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── @ IntegerNode (location: (15,9)-(15,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── closing_loc: (15,10)-(15,11) = ")" │ └── block: ∅ ├── @ CallNode (location: (17,0)-(17,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (17,0)-(17,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -208,7 +210,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (19,0)-(19,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (19,0)-(19,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -241,7 +243,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (21,0)-(21,11)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ CallNode (location: (21,0)-(21,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -262,12 +264,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (21,10)-(21,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (23,0)-(23,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a? @@ -277,7 +279,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -287,6 +289,7 @@ │ ├── closing_loc: (25,8)-(25,9) = ")" │ └── block: │ @ BlockArgumentNode (location: (25,2)-(25,8)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (25,3)-(25,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -300,7 +303,7 @@ │ │ └── block: ∅ │ └── operator_loc: (25,2)-(25,3) = "&" ├── @ CallNode (location: (27,0)-(27,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -314,6 +317,7 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (27,2)-(27,10)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (27,4)-(27,10)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -329,7 +333,7 @@ │ ├── closing_loc: (27,10)-(27,11) = ")" │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (29,0)-(29,3)) │ │ ├── flags: ∅ @@ -359,7 +363,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -392,7 +396,7 @@ │ ├── closing_loc: (31,6)-(31,7) = ")" │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -402,7 +406,7 @@ │ ├── closing_loc: (33,2)-(33,3) = ")" │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -413,6 +417,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (35,2)-(35,7)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (35,2)-(35,3) = "*" │ │ └── expression: │ │ @ CallNode (location: (35,3)-(35,7)) @@ -428,7 +433,7 @@ │ ├── closing_loc: (35,7)-(35,8) = ")" │ └── block: ∅ ├── @ CallNode (location: (37,0)-(37,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -461,7 +466,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (39,0)-(39,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -504,6 +509,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ MultiWriteNode (location: (41,0)-(41,23)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ CallTargetNode (location: (41,0)-(41,7)) │ │ │ ├── flags: ∅ @@ -544,18 +550,18 @@ │ ├── operator_loc: (41,17)-(41,18) = "=" │ └── value: │ @ ArrayNode (location: (41,19)-(41,23)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (41,19)-(41,20)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (41,22)-(41,23)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── @ CallNode (location: (43,0)-(43,4)) - │ ├── flags: safe_navigation + │ ├── flags: newline, safe_navigation │ ├── receiver: │ │ @ CallNode (location: (43,0)-(43,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -575,7 +581,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,5)) - │ ├── flags: safe_navigation + │ ├── flags: newline, safe_navigation │ ├── receiver: │ │ @ CallNode (location: (45,0)-(45,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -595,7 +601,7 @@ │ ├── closing_loc: (45,4)-(45,5) = ")" │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,7)) - │ ├── flags: safe_navigation + │ ├── flags: newline, safe_navigation │ ├── receiver: │ │ @ CallNode (location: (47,0)-(47,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -628,7 +634,7 @@ │ ├── closing_loc: (47,6)-(47,7) = ")" │ └── block: ∅ ├── @ CallNode (location: (49,0)-(49,6)) - │ ├── flags: safe_navigation + │ ├── flags: newline, safe_navigation │ ├── receiver: │ │ @ CallNode (location: (49,0)-(49,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -648,11 +654,14 @@ │ ├── closing_loc: (49,5)-(49,6) = ")" │ └── block: ∅ ├── @ IfNode (location: (51,0)-(51,33)) + │ ├── flags: newline │ ├── if_keyword_loc: (51,11)-(51,13) = "if" │ ├── predicate: │ │ @ AndNode (location: (51,14)-(51,33)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ OrNode (location: (51,14)-(51,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── left: │ │ │ │ @ CallNode (location: (51,14)-(51,18)) │ │ │ │ ├── flags: ignore_visibility @@ -691,9 +700,10 @@ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (51,0)-(51,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (51,0)-(51,10)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -704,13 +714,13 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ SymbolNode (location: (51,4)-(51,6)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (51,4)-(51,5) = ":" │ │ │ │ ├── value_loc: (51,5)-(51,6) = "a" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "a" │ │ │ └── @ SymbolNode (location: (51,8)-(51,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (51,8)-(51,9) = ":" │ │ │ ├── value_loc: (51,9)-(51,10) = "b" │ │ │ ├── closing_loc: ∅ @@ -720,7 +730,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ CallNode (location: (53,0)-(56,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -731,13 +741,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (53,4)-(53,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (53,4)-(53,5) = ":" │ │ │ ├── value_loc: (53,5)-(53,6) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (55,2)-(55,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (55,2)-(55,3) = ":" │ │ ├── value_loc: (55,3)-(55,4) = "b" │ │ ├── closing_loc: ∅ @@ -745,7 +755,7 @@ │ ├── closing_loc: (56,0)-(56,1) = ")" │ └── block: ∅ ├── @ CallNode (location: (58,0)-(58,10)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -756,6 +766,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (58,4)-(58,9)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (58,4)-(58,5) = "*" │ │ └── expression: │ │ @ CallNode (location: (58,5)-(58,9)) @@ -771,7 +782,7 @@ │ ├── closing_loc: (58,9)-(58,10) = ")" │ └── block: ∅ ├── @ CallNode (location: (60,0)-(60,39)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -782,7 +793,7 @@ │ │ ├── flags: contains_keywords │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (60,4)-(60,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (60,4)-(60,5) = ":" │ │ │ ├── value_loc: (60,5)-(60,6) = "a" │ │ │ ├── closing_loc: ∅ @@ -791,25 +802,26 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 2) │ │ ├── @ AssocNode (location: (60,8)-(60,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (60,8)-(60,10)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (60,8)-(60,9) = ":" │ │ │ │ ├── value_loc: (60,9)-(60,10) = "h" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "h" │ │ │ ├── value: │ │ │ │ @ ArrayNode (location: (60,14)-(60,22)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── elements: (length: 2) │ │ │ │ │ ├── @ SymbolNode (location: (60,15)-(60,17)) - │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ ├── opening_loc: (60,15)-(60,16) = ":" │ │ │ │ │ │ ├── value_loc: (60,16)-(60,17) = "x" │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ └── unescaped: "x" │ │ │ │ │ └── @ SymbolNode (location: (60,19)-(60,21)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (60,19)-(60,20) = ":" │ │ │ │ │ ├── value_loc: (60,20)-(60,21) = "y" │ │ │ │ │ ├── closing_loc: ∅ @@ -818,16 +830,17 @@ │ │ │ │ └── closing_loc: (60,21)-(60,22) = "]" │ │ │ └── operator_loc: (60,11)-(60,13) = "=>" │ │ └── @ AssocNode (location: (60,24)-(60,32)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (60,24)-(60,26)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (60,24)-(60,25) = ":" │ │ │ ├── value_loc: (60,25)-(60,26) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ SymbolNode (location: (60,30)-(60,32)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (60,30)-(60,31) = ":" │ │ │ ├── value_loc: (60,31)-(60,32) = "b" │ │ │ ├── closing_loc: ∅ @@ -836,16 +849,17 @@ │ ├── closing_loc: (60,39)-(60,40) = ")" │ └── block: │ @ BlockArgumentNode (location: (60,34)-(60,39)) + │ ├── flags: ∅ │ ├── expression: │ │ @ SymbolNode (location: (60,35)-(60,39)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (60,35)-(60,36) = ":" │ │ ├── value_loc: (60,36)-(60,39) = "bar" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "bar" │ └── operator_loc: (60,34)-(60,35) = "&" ├── @ CallNode (location: (62,0)-(62,49)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -856,45 +870,50 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ IntegerNode (location: (62,3)-(62,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 123 │ │ └── @ HashNode (location: (62,8)-(62,49)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (62,8)-(62,9) = "{" │ │ ├── elements: (length: 3) │ │ │ ├── @ AssocNode (location: (62,10)-(62,27)) + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (62,10)-(62,16)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (62,10)-(62,11) = ":" │ │ │ │ │ ├── value_loc: (62,11)-(62,16) = "there" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "there" │ │ │ │ ├── value: │ │ │ │ │ @ SymbolNode (location: (62,20)-(62,27)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (62,20)-(62,21) = ":" │ │ │ │ │ ├── value_loc: (62,21)-(62,27) = "friend" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "friend" │ │ │ │ └── operator_loc: (62,17)-(62,19) = "=>" │ │ │ ├── @ AssocSplatNode (location: (62,29)-(62,33)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── value: │ │ │ │ │ @ HashNode (location: (62,31)-(62,33)) + │ │ │ │ │ ├── flags: static_literal │ │ │ │ │ ├── opening_loc: (62,31)-(62,32) = "{" │ │ │ │ │ ├── elements: (length: 0) │ │ │ │ │ └── closing_loc: (62,32)-(62,33) = "}" │ │ │ │ └── operator_loc: (62,29)-(62,31) = "**" │ │ │ └── @ AssocNode (location: (62,35)-(62,47)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (62,35)-(62,42)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (62,35)-(62,41) = "whatup" │ │ │ │ ├── closing_loc: (62,41)-(62,42) = ":" │ │ │ │ └── unescaped: "whatup" │ │ │ ├── value: │ │ │ │ @ SymbolNode (location: (62,43)-(62,47)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (62,43)-(62,44) = ":" │ │ │ │ ├── value_loc: (62,44)-(62,47) = "dog" │ │ │ │ ├── closing_loc: ∅ @@ -904,7 +923,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (64,0)-(64,36)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -915,7 +934,7 @@ │ │ ├── flags: contains_keywords │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (64,4)-(64,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (64,4)-(64,5) = ":" │ │ │ ├── value_loc: (64,5)-(64,6) = "a" │ │ │ ├── closing_loc: ∅ @@ -924,24 +943,29 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (64,8)-(64,15)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (64,8)-(64,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (64,8)-(64,9) = "b" │ │ │ ├── closing_loc: (64,9)-(64,10) = ":" │ │ │ └── unescaped: "b" │ │ ├── value: │ │ │ @ TrueNode (location: (64,11)-(64,15)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (64,16)-(64,36)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (64,19)-(64,25)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (64,20)-(64,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (64,20)-(64,21)) │ │ │ │ │ ├── flags: ∅ @@ -960,9 +984,10 @@ │ │ └── closing_loc: (64,24)-(64,25) = "|" │ ├── body: │ │ @ StatementsNode (location: (64,26)-(64,32)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (64,26)-(64,32)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -973,6 +998,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (64,31)-(64,32)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── closing_loc: ∅ @@ -980,7 +1006,7 @@ │ ├── opening_loc: (64,16)-(64,18) = "do" │ └── closing_loc: (64,33)-(64,36) = "end" ├── @ CallNode (location: (66,0)-(66,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -994,16 +1020,17 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (66,3)-(66,17)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (66,3)-(66,9)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (66,3)-(66,8) = "there" │ │ │ ├── closing_loc: (66,8)-(66,9) = ":" │ │ │ └── unescaped: "there" │ │ ├── value: │ │ │ @ SymbolNode (location: (66,10)-(66,17)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (66,10)-(66,11) = ":" │ │ │ ├── value_loc: (66,11)-(66,17) = "friend" │ │ │ ├── closing_loc: ∅ @@ -1012,7 +1039,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (68,0)-(68,40)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -1026,39 +1053,43 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 3) │ │ ├── @ AssocNode (location: (68,3)-(68,20)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (68,3)-(68,9)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (68,3)-(68,4) = ":" │ │ │ │ ├── value_loc: (68,4)-(68,9) = "there" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "there" │ │ │ ├── value: │ │ │ │ @ SymbolNode (location: (68,13)-(68,20)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (68,13)-(68,14) = ":" │ │ │ │ ├── value_loc: (68,14)-(68,20) = "friend" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "friend" │ │ │ └── operator_loc: (68,10)-(68,12) = "=>" │ │ ├── @ AssocSplatNode (location: (68,22)-(68,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ HashNode (location: (68,24)-(68,26)) + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── opening_loc: (68,24)-(68,25) = "{" │ │ │ │ ├── elements: (length: 0) │ │ │ │ └── closing_loc: (68,25)-(68,26) = "}" │ │ │ └── operator_loc: (68,22)-(68,24) = "**" │ │ └── @ AssocNode (location: (68,28)-(68,40)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (68,28)-(68,35)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (68,28)-(68,34) = "whatup" │ │ │ ├── closing_loc: (68,34)-(68,35) = ":" │ │ │ └── unescaped: "whatup" │ │ ├── value: │ │ │ @ SymbolNode (location: (68,36)-(68,40)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (68,36)-(68,37) = ":" │ │ │ ├── value_loc: (68,37)-(68,40) = "dog" │ │ │ ├── closing_loc: ∅ @@ -1067,7 +1098,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (70,0)-(70,41)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -1081,39 +1112,43 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 3) │ │ ├── @ AssocNode (location: (70,3)-(70,20)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (70,3)-(70,9)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (70,3)-(70,4) = ":" │ │ │ │ ├── value_loc: (70,4)-(70,9) = "there" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "there" │ │ │ ├── value: │ │ │ │ @ SymbolNode (location: (70,13)-(70,20)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (70,13)-(70,14) = ":" │ │ │ │ ├── value_loc: (70,14)-(70,20) = "friend" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "friend" │ │ │ └── operator_loc: (70,10)-(70,12) = "=>" │ │ ├── @ AssocSplatNode (location: (70,22)-(70,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ HashNode (location: (70,24)-(70,26)) + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── opening_loc: (70,24)-(70,25) = "{" │ │ │ │ ├── elements: (length: 0) │ │ │ │ └── closing_loc: (70,25)-(70,26) = "}" │ │ │ └── operator_loc: (70,22)-(70,24) = "**" │ │ └── @ AssocNode (location: (70,28)-(70,40)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (70,28)-(70,35)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (70,28)-(70,34) = "whatup" │ │ │ ├── closing_loc: (70,34)-(70,35) = ":" │ │ │ └── unescaped: "whatup" │ │ ├── value: │ │ │ @ SymbolNode (location: (70,36)-(70,40)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (70,36)-(70,37) = ":" │ │ │ ├── value_loc: (70,37)-(70,40) = "dog" │ │ │ ├── closing_loc: ∅ @@ -1122,7 +1157,7 @@ │ ├── closing_loc: (70,40)-(70,41) = ")" │ └── block: ∅ ├── @ CallNode (location: (72,0)-(72,35)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1133,44 +1168,50 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ HashNode (location: (72,4)-(72,26)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (72,4)-(72,5) = "{" │ │ ├── elements: (length: 2) │ │ │ ├── @ AssocNode (location: (72,6)-(72,13)) + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (72,6)-(72,8)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (72,6)-(72,7) = "a" │ │ │ │ │ ├── closing_loc: (72,7)-(72,8) = ":" │ │ │ │ │ └── unescaped: "a" │ │ │ │ ├── value: │ │ │ │ │ @ TrueNode (location: (72,9)-(72,13)) + │ │ │ │ │ └── flags: static_literal │ │ │ │ └── operator_loc: ∅ │ │ │ └── @ AssocNode (location: (72,15)-(72,23)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (72,15)-(72,17)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (72,15)-(72,16) = "b" │ │ │ │ ├── closing_loc: (72,16)-(72,17) = ":" │ │ │ │ └── unescaped: "b" │ │ │ ├── value: │ │ │ │ @ FalseNode (location: (72,18)-(72,23)) + │ │ │ │ └── flags: static_literal │ │ │ └── operator_loc: ∅ │ │ └── closing_loc: (72,25)-(72,26) = "}" │ ├── closing_loc: (72,35)-(72,36) = ")" │ └── block: │ @ BlockArgumentNode (location: (72,28)-(72,35)) + │ ├── flags: ∅ │ ├── expression: │ │ @ SymbolNode (location: (72,29)-(72,35)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (72,29)-(72,30) = ":" │ │ ├── value_loc: (72,30)-(72,35) = "block" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "block" │ └── operator_loc: (72,28)-(72,29) = "&" ├── @ CallNode (location: (74,0)-(74,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :hi @@ -1184,16 +1225,17 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (74,3)-(74,20)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (74,3)-(74,9)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (74,3)-(74,4) = ":" │ │ │ ├── value_loc: (74,4)-(74,9) = "there" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "there" │ │ ├── value: │ │ │ @ SymbolNode (location: (74,13)-(74,20)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (74,13)-(74,14) = ":" │ │ │ ├── value_loc: (74,14)-(74,20) = "friend" │ │ │ ├── closing_loc: ∅ @@ -1202,7 +1244,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (76,0)-(78,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1213,13 +1255,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (76,4)-(76,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (76,4)-(76,5) = ":" │ │ │ ├── value_loc: (76,5)-(76,6) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (77,0)-(77,2)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (77,0)-(77,1) = ":" │ │ ├── value_loc: (77,1)-(77,2) = "b" │ │ ├── closing_loc: ∅ @@ -1227,7 +1269,7 @@ │ ├── closing_loc: (78,0)-(78,1) = ")" │ └── block: ∅ ├── @ CallNode (location: (80,0)-(83,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1238,7 +1280,7 @@ │ │ ├── flags: contains_keywords │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (81,0)-(81,2)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (81,0)-(81,1) = ":" │ │ │ ├── value_loc: (81,1)-(81,2) = "a" │ │ │ ├── closing_loc: ∅ @@ -1247,16 +1289,17 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (82,0)-(82,5)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (82,0)-(82,2)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (82,0)-(82,1) = "b" │ │ │ ├── closing_loc: (82,1)-(82,2) = ":" │ │ │ └── unescaped: "b" │ │ ├── value: │ │ │ @ SymbolNode (location: (82,3)-(82,5)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (82,3)-(82,4) = ":" │ │ │ ├── value_loc: (82,4)-(82,5) = "c" │ │ │ ├── closing_loc: ∅ @@ -1265,7 +1308,7 @@ │ ├── closing_loc: (83,0)-(83,1) = ")" │ └── block: ∅ ├── @ CallNode (location: (85,0)-(85,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1275,16 +1318,17 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockArgumentNode (location: (85,4)-(85,11)) + │ ├── flags: ∅ │ ├── expression: │ │ @ SymbolNode (location: (85,5)-(85,11)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (85,5)-(85,6) = ":" │ │ ├── value_loc: (85,6)-(85,11) = "block" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "block" │ └── operator_loc: (85,4)-(85,5) = "&" ├── @ CallNode (location: (87,0)-(87,30)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1298,40 +1342,45 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 2) │ │ ├── @ AssocNode (location: (87,4)-(87,11)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (87,4)-(87,6)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (87,4)-(87,5) = "a" │ │ │ │ ├── closing_loc: (87,5)-(87,6) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ TrueNode (location: (87,7)-(87,11)) + │ │ │ │ └── flags: static_literal │ │ │ └── operator_loc: ∅ │ │ └── @ AssocNode (location: (87,13)-(87,21)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (87,13)-(87,15)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (87,13)-(87,14) = "b" │ │ │ ├── closing_loc: (87,14)-(87,15) = ":" │ │ │ └── unescaped: "b" │ │ ├── value: │ │ │ @ FalseNode (location: (87,16)-(87,21)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ │ └── block: │ @ BlockArgumentNode (location: (87,23)-(87,30)) + │ ├── flags: ∅ │ ├── expression: │ │ @ SymbolNode (location: (87,24)-(87,30)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (87,24)-(87,25) = ":" │ │ ├── value_loc: (87,25)-(87,30) = "block" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "block" │ └── operator_loc: (87,23)-(87,24) = "&" ├── @ CallNode (location: (89,0)-(89,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :some_func @@ -1342,30 +1391,32 @@ │ │ ├── flags: contains_keywords │ │ └── arguments: (length: 2) │ │ ├── @ IntegerNode (location: (89,10)-(89,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ KeywordHashNode (location: (89,13)-(89,21)) │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (89,13)-(89,21)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (89,13)-(89,19)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (89,13)-(89,18) = "kwarg" │ │ │ ├── closing_loc: (89,18)-(89,19) = ":" │ │ │ └── unescaped: "kwarg" │ │ ├── value: │ │ │ @ IntegerNode (location: (89,20)-(89,21)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (91,0)-(91,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (91,0)-(91,6)) + │ │ ├── flags: ∅ │ │ └── name: :Kernel │ ├── call_operator_loc: (91,6)-(91,7) = "." │ ├── name: :Integer @@ -1376,12 +1427,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (91,15)-(91,17)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 10 │ ├── closing_loc: (91,17)-(91,18) = ")" │ └── block: ∅ ├── @ CallNode (location: (93,0)-(93,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (93,0)-(93,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -1401,13 +1452,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (93,7)-(93,10)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (93,7)-(93,8) = "{" │ └── closing_loc: (93,9)-(93,10) = "}" ├── @ CallNode (location: (95,0)-(95,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (95,0)-(95,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1427,21 +1479,26 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (95,8)-(95,14)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (95,10)-(95,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BackReferenceReadNode (location: (95,10)-(95,12)) + │ │ ├── flags: newline │ │ └── name: :$& │ ├── opening_loc: (95,8)-(95,9) = "{" │ └── closing_loc: (95,13)-(95,14) = "}" ├── @ CallNode (location: (97,0)-(97,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantPathNode (location: (97,0)-(97,4)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (97,0)-(97,1)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── name: :B │ │ ├── delimiter_loc: (97,1)-(97,3) = "::" @@ -1455,7 +1512,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (97,8)-(97,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (97,8)-(97,9) = ":" │ │ ├── value_loc: (97,9)-(97,12) = "foo" │ │ ├── closing_loc: ∅ @@ -1463,11 +1520,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (99,0)-(99,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantPathNode (location: (99,0)-(99,4)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (99,0)-(99,1)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── name: :B │ │ ├── delimiter_loc: (99,1)-(99,3) = "::" @@ -1481,7 +1540,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (99,8)-(99,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (99,8)-(99,9) = ":" │ │ ├── value_loc: (99,9)-(99,12) = "foo" │ │ ├── closing_loc: ∅ @@ -1489,11 +1548,13 @@ │ ├── closing_loc: (99,12)-(99,13) = ")" │ └── block: ∅ ├── @ CallNode (location: (101,0)-(101,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantPathNode (location: (101,0)-(101,4)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (101,0)-(101,1)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── name: :B │ │ ├── delimiter_loc: (101,1)-(101,3) = "::" @@ -1507,7 +1568,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (101,8)-(101,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (101,8)-(101,9) = ":" │ │ ├── value_loc: (101,9)-(101,12) = "foo" │ │ ├── closing_loc: ∅ @@ -1515,13 +1576,14 @@ │ ├── closing_loc: (101,12)-(101,13) = ")" │ └── block: │ @ BlockNode (location: (101,14)-(101,17)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (101,14)-(101,15) = "{" │ └── closing_loc: (101,16)-(101,17) = "}" ├── @ CallNode (location: (103,0)-(103,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1535,22 +1597,23 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (103,4)-(103,11)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (103,4)-(103,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (103,4)-(103,5) = "\"" │ │ │ ├── value_loc: (103,5)-(103,6) = "a" │ │ │ ├── closing_loc: (103,6)-(103,8) = "\":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ IntegerNode (location: (103,9)-(103,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: -1 │ │ └── operator_loc: ∅ │ ├── closing_loc: (103,11)-(103,12) = ")" │ └── block: ∅ ├── @ CallNode (location: (105,0)-(105,28)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1564,21 +1627,24 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (105,4)-(105,28)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (105,4)-(105,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (105,4)-(105,7) = "bar" │ │ │ ├── closing_loc: (105,7)-(105,8) = ":" │ │ │ └── unescaped: "bar" │ │ ├── value: │ │ │ @ HashNode (location: (105,9)-(105,28)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (105,9)-(105,10) = "{" │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ AssocNode (location: (105,11)-(105,26)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (105,11)-(105,15)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (105,11)-(105,14) = "baz" │ │ │ │ │ ├── closing_loc: (105,14)-(105,15) = ":" @@ -1595,6 +1661,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (105,20)-(105,26)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: ∅ @@ -1606,7 +1673,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (107,0)-(107,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1620,18 +1687,21 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (107,4)-(107,24)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (107,4)-(107,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (107,4)-(107,7) = "bar" │ │ │ ├── closing_loc: (107,7)-(107,8) = ":" │ │ │ └── unescaped: "bar" │ │ ├── value: │ │ │ @ HashNode (location: (107,9)-(107,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (107,9)-(107,10) = "{" │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ AssocSplatNode (location: (107,11)-(107,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── value: │ │ │ │ │ @ CallNode (location: (107,13)-(107,22)) │ │ │ │ │ ├── flags: ignore_visibility @@ -1644,6 +1714,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (107,16)-(107,22)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: ∅ @@ -1655,7 +1726,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (109,0)-(109,36)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1670,9 +1741,11 @@ │ │ ├── opening_loc: (109,4)-(109,5) = "\"" │ │ ├── parts: (length: 1) │ │ │ └── @ EmbeddedStatementsNode (location: (109,5)-(109,28)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (109,5)-(109,7) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (109,7)-(109,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (109,7)-(109,27)) │ │ │ │ ├── flags: ∅ @@ -1695,13 +1768,15 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (109,15)-(109,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (109,18)-(109,23)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ StringNode (location: (109,18)-(109,23)) - │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── opening_loc: (109,18)-(109,19) = "\"" │ │ │ │ │ ├── content_loc: (109,19)-(109,22) = "baz" │ │ │ │ │ ├── closing_loc: (109,22)-(109,23) = "\"" @@ -1713,13 +1788,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (109,30)-(109,36)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (109,30)-(109,32) = "do" │ └── closing_loc: (109,33)-(109,36) = "end" ├── @ CallNode (location: (111,0)-(111,28)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1730,18 +1806,21 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ClassNode (location: (111,4)-(111,28)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── class_keyword_loc: (111,4)-(111,9) = "class" │ │ ├── constant_path: │ │ │ @ ConstantReadNode (location: (111,10)-(111,13)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Bar │ │ ├── inheritance_operator_loc: ∅ │ │ ├── superclass: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (111,14)-(111,24)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (111,14)-(111,24)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -1751,6 +1830,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (111,18)-(111,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -1761,7 +1841,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (113,0)-(113,29)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1772,16 +1852,19 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ModuleNode (location: (113,4)-(113,29)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── module_keyword_loc: (113,4)-(113,10) = "module" │ │ ├── constant_path: │ │ │ @ ConstantReadNode (location: (113,11)-(113,14)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Bar │ │ ├── body: │ │ │ @ StatementsNode (location: (113,15)-(113,25)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (113,15)-(113,25)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -1791,6 +1874,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (113,19)-(113,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -1801,7 +1885,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (115,0)-(115,16)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1825,6 +1909,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (115,9)-(115,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -1835,7 +1920,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (117,0)-(117,28)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -1846,15 +1931,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ BeginNode (location: (117,2)-(117,28)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: (117,2)-(117,7) = "begin" │ │ ├── statements: │ │ │ @ StatementsNode (location: (117,8)-(117,24)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (117,8)-(117,24)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ IntegerNode (location: (117,8)-(117,9)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── call_operator_loc: (117,9)-(117,10) = "." │ │ │ ├── name: :times @@ -1864,13 +1951,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (117,16)-(117,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (117,19)-(117,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (117,19)-(117,20)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── opening_loc: (117,16)-(117,18) = "do" │ │ │ └── closing_loc: (117,21)-(117,24) = "end" @@ -1881,7 +1970,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (119,0)-(124,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1892,12 +1981,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (119,4)-(119,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (119,4)-(119,5) = ":" │ │ │ ├── value_loc: (119,5)-(119,6) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ IfNode (location: (120,2)-(124,5)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (120,2)-(120,4) = "if" │ │ ├── predicate: │ │ │ @ CallNode (location: (120,5)-(120,6)) @@ -1913,9 +2003,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (121,4)-(123,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (121,4)-(123,7)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -1925,11 +2016,14 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (121,8)-(123,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [:a] │ │ │ ├── parameters: │ │ │ │ @ BlockParametersNode (location: (121,11)-(121,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── parameters: │ │ │ │ │ @ ParametersNode (location: (121,12)-(121,13)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ │ └── @ RequiredParameterNode (location: (121,12)-(121,13)) │ │ │ │ │ │ ├── flags: ∅ @@ -1945,8 +2039,10 @@ │ │ │ │ └── closing_loc: (121,13)-(121,14) = "|" │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (122,6)-(122,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (122,6)-(122,7)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── opening_loc: (121,8)-(121,10) = "do" @@ -1956,7 +2052,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (126,0)-(135,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1967,7 +2063,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 3) │ │ ├── @ SymbolNode (location: (126,4)-(126,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (126,4)-(126,5) = ":" │ │ │ ├── value_loc: (126,5)-(126,6) = "a" │ │ │ ├── closing_loc: ∅ @@ -1989,9 +2085,10 @@ │ │ │ │ └── block: ∅ │ │ │ └── statements: │ │ │ @ StatementsNode (location: (128,4)-(130,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (128,4)-(130,7)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -2001,11 +2098,14 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (128,8)-(130,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [:a] │ │ │ ├── parameters: │ │ │ │ @ BlockParametersNode (location: (128,11)-(128,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── parameters: │ │ │ │ │ @ ParametersNode (location: (128,12)-(128,13)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ │ └── @ RequiredParameterNode (location: (128,12)-(128,13)) │ │ │ │ │ │ ├── flags: ∅ @@ -2021,8 +2121,10 @@ │ │ │ │ └── closing_loc: (128,13)-(128,14) = "|" │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (129,6)-(129,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (129,6)-(129,7)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── opening_loc: (128,8)-(128,10) = "do" @@ -2044,9 +2146,10 @@ │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (133,4)-(134,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (133,4)-(134,7)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -2056,6 +2159,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (133,8)-(134,7)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -2064,9 +2168,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (137,0)-(137,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ HashNode (location: (137,0)-(137,2)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (137,0)-(137,1) = "{" │ │ ├── elements: (length: 0) │ │ └── closing_loc: (137,1)-(137,2) = "}" @@ -2089,6 +2194,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (137,7)-(137,9)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -2097,9 +2203,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (139,0)-(139,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ HashNode (location: (139,0)-(139,2)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (139,0)-(139,1) = "{" │ │ ├── elements: (length: 0) │ │ └── closing_loc: (139,1)-(139,2) = "}" @@ -2122,11 +2229,14 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (139,7)-(139,16)) + │ │ ├── flags: ∅ │ │ ├── locals: [:a] │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (139,9)-(139,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (139,10)-(139,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (139,10)-(139,11)) │ │ │ │ │ ├── flags: ∅ @@ -2142,8 +2252,10 @@ │ │ │ └── closing_loc: (139,11)-(139,12) = "|" │ │ ├── body: │ │ │ @ StatementsNode (location: (139,13)-(139,14)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (139,13)-(139,14)) + │ │ │ ├── flags: newline │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── opening_loc: (139,7)-(139,8) = "{" @@ -2151,7 +2263,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (141,0)-(141,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (141,0)-(141,4)) │ │ ├── flags: ignore_visibility @@ -2164,6 +2276,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (141,2)-(141,4)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -2188,6 +2301,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (141,9)-(141,11)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -2196,7 +2310,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (143,0)-(143,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (143,0)-(143,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2227,6 +2341,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (143,9)-(143,11)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -2235,13 +2350,15 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ InterpolatedStringNode (location: (145,0)-(145,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (145,0)-(145,1) = "\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (145,1)-(145,16)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (145,1)-(145,3) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (145,4)-(145,14)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (145,4)-(145,14)) │ │ │ ├── flags: ignore_visibility @@ -2255,11 +2372,13 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ ParenthesesNode (location: (145,9)-(145,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (145,10)-(145,13)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ StringNode (location: (145,10)-(145,13)) - │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── opening_loc: (145,10)-(145,11) = "\"" │ │ │ │ │ ├── content_loc: (145,11)-(145,12) = " " │ │ │ │ │ ├── closing_loc: (145,12)-(145,13) = "\"" @@ -2271,20 +2390,24 @@ │ │ └── closing_loc: (145,15)-(145,16) = "}" │ └── closing_loc: (145,16)-(145,17) = "\"" ├── @ InterpolatedStringNode (location: (147,0)-(147,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (147,0)-(147,1) = "\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (147,1)-(147,7)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (147,1)-(147,3) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (147,3)-(147,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ ParenthesesNode (location: (147,3)-(147,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (147,4)-(147,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (147,4)-(147,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :v @@ -2298,11 +2421,13 @@ │ │ └── closing_loc: (147,6)-(147,7) = "}" │ └── closing_loc: (147,7)-(147,8) = "\"" ├── @ DefNode (location: (149,0)-(149,18)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (149,4)-(149,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (149,6)-(149,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -2317,9 +2442,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (149,10)-(149,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (149,10)-(149,13)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -2330,6 +2456,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SplatNode (location: (149,12)-(149,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (149,12)-(149,13) = "*" │ │ │ └── expression: ∅ │ │ ├── closing_loc: ∅ @@ -2342,7 +2469,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (149,15)-(149,18) = "end" ├── @ CallNode (location: (151,0)-(151,16)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -2353,7 +2480,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ IntegerNode (location: (151,4)-(151,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ CallNode (location: (151,7)-(151,16)) │ │ ├── flags: ignore_visibility @@ -2366,29 +2493,32 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (151,11)-(151,16)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (151,13)-(151,14)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (151,13)-(151,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: (151,11)-(151,12) = "{" │ │ └── closing_loc: (151,15)-(151,16) = "}" │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ LocalVariableWriteNode (location: (153,0)-(153,7)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (153,0)-(153,3) = "foo" │ ├── value: │ │ @ IntegerNode (location: (153,6)-(153,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (153,4)-(153,5) = "=" ├── @ CallNode (location: (154,0)-(154,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -2398,15 +2528,17 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (154,4)-(154,6)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (154,4)-(154,5) = "{" │ └── closing_loc: (154,5)-(154,6) = "}" └── @ CallNode (location: (156,0)-(156,19)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ InstanceVariableReadNode (location: (156,0)-(156,2)) + │ ├── flags: ∅ │ └── name: :@a ├── call_operator_loc: (156,2)-(156,3) = "." ├── name: :b @@ -2420,20 +2552,24 @@ │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (156,5)-(156,19)) + │ ├── flags: ∅ │ ├── key: │ │ @ InterpolatedSymbolNode (location: (156,5)-(156,16)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (156,5)-(156,6) = "\"" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (156,6)-(156,7)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (156,6)-(156,7) = "c" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "c" │ │ │ └── @ EmbeddedStatementsNode (location: (156,7)-(156,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (156,7)-(156,9) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (156,9)-(156,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (156,9)-(156,13)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -2449,7 +2585,7 @@ │ │ └── closing_loc: (156,14)-(156,16) = "\":" │ ├── value: │ │ @ IntegerNode (location: (156,17)-(156,19)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ └── operator_loc: ∅ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/methods.txt b/test/prism/snapshots/methods.txt index b38640399b..0fd1a7f43a 100644 --- a/test/prism/snapshots/methods.txt +++ b/test/prism/snapshots/methods.txt @@ -1,16 +1,21 @@ @ ProgramNode (location: (1,0)-(183,37)) +├── flags: ∅ ├── locals: [:a, :c, :foo] └── statements: @ StatementsNode (location: (1,0)-(183,37)) + ├── flags: ∅ └── body: (length: 69) ├── @ DefNode (location: (1,0)-(2,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,8)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,12)) │ │ │ │ │ ├── flags: ∅ @@ -37,13 +42,16 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (2,0)-(2,3) = "end" ├── @ DefNode (location: (4,0)-(5,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (4,4)-(4,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (4,8)-(4,44)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (4,8)-(4,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (4,9)-(4,12)) │ │ │ │ │ ├── flags: ∅ @@ -63,11 +71,12 @@ │ │ │ ├── operator_loc: (4,29)-(4,30) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (4,31)-(4,32)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 1) │ │ │ └── @ MultiTargetNode (location: (4,34)-(4,44)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (4,35)-(4,38)) │ │ │ │ │ ├── flags: ∅ @@ -91,18 +100,21 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ DefNode (location: (8,0)-(8,18)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (8,4)-(8,5) = "a" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (8,0)-(8,18)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (8,7)-(8,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (8,7)-(8,13) = "ensure" │ │ │ ├── statements: ∅ │ │ │ └── end_keyword_loc: (8,15)-(8,18) = "end" @@ -115,10 +127,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (8,15)-(8,18) = "end" ├── @ DefNode (location: (10,0)-(11,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (10,8)-(10,9) = "a" │ ├── receiver: │ │ @ ParenthesesNode (location: (10,4)-(10,7)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ CallNode (location: (10,5)-(10,6)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -142,10 +156,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ DefNode (location: (13,0)-(14,3)) + │ ├── flags: newline │ ├── name: :b │ ├── name_loc: (13,9)-(13,10) = "b" │ ├── receiver: │ │ @ ParenthesesNode (location: (13,4)-(13,7)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ CallNode (location: (13,5)-(13,6)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -169,10 +185,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (14,0)-(14,3) = "end" ├── @ DefNode (location: (16,0)-(17,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (16,10)-(16,11) = "a" │ ├── receiver: │ │ @ FalseNode (location: (16,4)-(16,9)) + │ │ └── flags: static_literal │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -183,11 +201,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (17,0)-(17,3) = "end" ├── @ DefNode (location: (19,0)-(20,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (19,4)-(19,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (19,6)-(19,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -195,6 +215,7 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (19,6)-(19,9)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -205,10 +226,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (20,0)-(20,3) = "end" ├── @ DefNode (location: (22,0)-(23,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (22,9)-(22,10) = "a" │ ├── receiver: │ │ @ GlobalVariableReadNode (location: (22,4)-(22,8)) + │ │ ├── flags: ∅ │ │ └── name: :$var │ ├── parameters: ∅ │ ├── body: ∅ @@ -220,6 +243,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (23,0)-(23,3) = "end" ├── @ DefNode (location: (25,0)-(26,3)) + │ ├── flags: newline │ ├── name: :b │ ├── name_loc: (25,6)-(25,7) = "b" │ ├── receiver: @@ -243,10 +267,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (26,0)-(26,3) = "end" ├── @ DefNode (location: (28,0)-(29,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (28,9)-(28,10) = "a" │ ├── receiver: │ │ @ InstanceVariableReadNode (location: (28,4)-(28,8)) + │ │ ├── flags: ∅ │ │ └── name: :@var │ ├── parameters: ∅ │ ├── body: ∅ @@ -258,11 +284,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (29,0)-(29,3) = "end" ├── @ DefNode (location: (31,0)-(31,13)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (31,4)-(31,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (31,6)-(31,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -283,17 +311,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (31,10)-(31,13) = "end" ├── @ StringNode (location: (33,0)-(33,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (33,0)-(33,2) = "%," │ ├── content_loc: (33,2)-(33,5) = "abc" │ ├── closing_loc: (33,5)-(33,6) = "," │ └── unescaped: "abc" ├── @ DefNode (location: (35,0)-(36,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (35,4)-(35,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (35,6)-(35,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -314,11 +344,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (36,0)-(36,3) = "end" ├── @ DefNode (location: (38,0)-(39,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (38,4)-(38,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (38,6)-(38,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -340,11 +372,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (39,0)-(39,3) = "end" ├── @ DefNode (location: (41,0)-(42,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (41,4)-(41,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (41,6)-(41,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -366,15 +400,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (42,0)-(42,3) = "end" ├── @ LocalVariableWriteNode (location: (44,0)-(44,5)) + │ ├── flags: newline │ ├── name: :a │ ├── depth: 0 │ ├── name_loc: (44,0)-(44,1) = "a" │ ├── value: │ │ @ IntegerNode (location: (44,4)-(44,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (44,2)-(44,3) = "=" ├── @ DefNode (location: (44,7)-(45,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (44,11)-(44,12) = "a" │ ├── receiver: ∅ @@ -388,11 +424,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (45,0)-(45,3) = "end" ├── @ DefNode (location: (47,0)-(48,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (47,4)-(47,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (47,6)-(47,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 3) │ │ │ ├── @ RequiredParameterNode (location: (47,6)-(47,7)) │ │ │ │ ├── flags: ∅ @@ -418,10 +456,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (48,0)-(48,3) = "end" ├── @ DefNode (location: (50,0)-(51,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (50,8)-(50,9) = "a" │ ├── receiver: │ │ @ NilNode (location: (50,4)-(50,7)) + │ │ └── flags: static_literal │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -432,11 +472,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (51,0)-(51,3) = "end" ├── @ DefNode (location: (53,0)-(54,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (53,4)-(53,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (53,6)-(53,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -452,7 +494,7 @@ │ │ │ ├── name_loc: (53,10)-(53,12) = "c:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (53,13)-(53,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ @@ -465,11 +507,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (54,0)-(54,3) = "end" ├── @ DefNode (location: (56,0)-(57,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (56,4)-(56,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (56,6)-(56,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -485,7 +529,7 @@ │ │ │ ├── name_loc: (56,10)-(56,12) = "c:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (56,13)-(56,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ @@ -498,11 +542,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (57,0)-(57,3) = "end" ├── @ DefNode (location: (59,0)-(61,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (59,4)-(59,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (59,6)-(60,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -514,7 +560,7 @@ │ │ │ │ ├── name_loc: (59,6)-(59,8) = "b:" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (60,2)-(60,3)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ RequiredKeywordParameterNode (location: (60,5)-(60,7)) │ │ │ ├── flags: ∅ @@ -531,17 +577,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (61,0)-(61,3) = "end" ├── @ StringNode (location: (63,0)-(63,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (63,0)-(63,2) = "%." │ ├── content_loc: (63,2)-(63,5) = "abc" │ ├── closing_loc: (63,5)-(63,6) = "." │ └── unescaped: "abc" ├── @ DefNode (location: (65,0)-(66,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (65,4)-(65,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (65,6)-(65,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 2) │ │ │ ├── @ OptionalParameterNode (location: (65,6)-(65,11)) @@ -551,7 +599,7 @@ │ │ │ │ ├── operator_loc: (65,8)-(65,9) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (65,10)-(65,11)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ OptionalParameterNode (location: (65,13)-(65,18)) │ │ │ ├── flags: ∅ @@ -560,7 +608,7 @@ │ │ │ ├── operator_loc: (65,15)-(65,16) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (65,17)-(65,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -576,6 +624,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (66,0)-(66,3) = "end" ├── @ DefNode (location: (68,0)-(69,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (68,4)-(68,5) = "a" │ ├── receiver: ∅ @@ -589,11 +638,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (69,0)-(69,3) = "end" ├── @ DefNode (location: (71,0)-(72,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (71,4)-(71,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (71,6)-(71,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (71,6)-(71,7)) │ │ │ ├── flags: ∅ @@ -606,7 +657,7 @@ │ │ │ ├── operator_loc: (71,11)-(71,12) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (71,13)-(71,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -622,11 +673,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (72,0)-(72,3) = "end" ├── @ DefNode (location: (74,0)-(75,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (74,4)-(74,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (74,6)-(74,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (74,6)-(74,7)) │ │ │ ├── flags: ∅ @@ -646,16 +699,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (75,0)-(75,3) = "end" ├── @ DefNode (location: (77,0)-(77,32)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (77,4)-(77,5) = "a" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (77,0)-(77,32)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (77,7)-(77,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (77,7)-(77,13) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -664,11 +720,13 @@ │ │ │ └── consequent: ∅ │ │ ├── else_clause: │ │ │ @ ElseNode (location: (77,15)-(77,27)) + │ │ │ ├── flags: ∅ │ │ │ ├── else_keyword_loc: (77,15)-(77,19) = "else" │ │ │ ├── statements: ∅ │ │ │ └── end_keyword_loc: (77,21)-(77,27) = "ensure" │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (77,21)-(77,32)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (77,21)-(77,27) = "ensure" │ │ │ ├── statements: ∅ │ │ │ └── end_keyword_loc: (77,29)-(77,32) = "end" @@ -681,11 +739,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (77,29)-(77,32) = "end" ├── @ DefNode (location: (79,0)-(80,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (79,4)-(79,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (79,6)-(79,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -707,11 +767,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (80,0)-(80,3) = "end" ├── @ DefNode (location: (82,0)-(83,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (82,4)-(82,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (82,6)-(82,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -733,20 +795,23 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (83,0)-(83,3) = "end" ├── @ DefNode (location: (85,0)-(87,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (85,4)-(85,5) = "a" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (86,0)-(86,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (86,0)-(86,5)) + │ │ ├── flags: newline │ │ ├── name: :b │ │ ├── depth: 0 │ │ ├── name_loc: (86,0)-(86,1) = "b" │ │ ├── value: │ │ │ @ IntegerNode (location: (86,4)-(86,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (86,2)-(86,3) = "=" │ ├── locals: [:b] @@ -757,10 +822,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (87,0)-(87,3) = "end" ├── @ DefNode (location: (89,0)-(90,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (89,9)-(89,10) = "a" │ ├── receiver: │ │ @ SelfNode (location: (89,4)-(89,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -771,10 +838,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (90,0)-(90,3) = "end" ├── @ DefNode (location: (92,0)-(93,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (92,9)-(92,10) = "a" │ ├── receiver: │ │ @ TrueNode (location: (92,4)-(92,8)) + │ │ └── flags: static_literal │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -785,6 +854,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (93,0)-(93,3) = "end" ├── @ DefNode (location: (95,0)-(96,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (95,4)-(95,5) = "a" │ ├── receiver: ∅ @@ -798,30 +868,35 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (96,0)-(96,3) = "end" ├── @ DefNode (location: (98,0)-(101,3)) + │ ├── flags: newline │ ├── name: :hi │ ├── name_loc: (98,4)-(98,6) = "hi" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (99,0)-(100,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ IfNode (location: (99,0)-(99,18)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (99,11)-(99,13) = "if" │ │ │ ├── predicate: │ │ │ │ @ TrueNode (location: (99,14)-(99,18)) + │ │ │ │ └── flags: static_literal │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (99,0)-(99,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ReturnNode (location: (99,0)-(99,10)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── keyword_loc: (99,0)-(99,6) = "return" │ │ │ │ └── arguments: │ │ │ │ @ ArgumentsNode (location: (99,7)-(99,10)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ SymbolNode (location: (99,7)-(99,10)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (99,7)-(99,8) = ":" │ │ │ │ ├── value_loc: (99,8)-(99,10) = "hi" │ │ │ │ ├── closing_loc: ∅ @@ -829,7 +904,7 @@ │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ └── @ SymbolNode (location: (100,0)-(100,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (100,0)-(100,1) = ":" │ │ ├── value_loc: (100,1)-(100,4) = "bye" │ │ ├── closing_loc: ∅ @@ -842,15 +917,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (101,0)-(101,3) = "end" ├── @ DefNode (location: (103,0)-(103,11)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (103,4)-(103,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (103,10)-(103,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (103,10)-(103,11)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── locals: [] │ ├── def_keyword_loc: (103,0)-(103,3) = "def" @@ -860,15 +937,17 @@ │ ├── equal_loc: (103,8)-(103,9) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (104,0)-(104,11)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (104,4)-(104,7) = "bar" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (104,10)-(104,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (104,10)-(104,11)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 2 │ ├── locals: [] │ ├── def_keyword_loc: (104,0)-(104,3) = "def" @@ -878,11 +957,13 @@ │ ├── equal_loc: (104,8)-(104,9) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (106,0)-(106,18)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (106,4)-(106,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (106,8)-(106,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (106,8)-(106,11)) │ │ │ ├── flags: ∅ @@ -895,9 +976,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (106,15)-(106,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (106,15)-(106,18)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 123 │ ├── locals: [:bar] │ ├── def_keyword_loc: (106,0)-(106,3) = "def" @@ -907,15 +989,17 @@ │ ├── equal_loc: (106,13)-(106,14) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (108,0)-(108,13)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (108,4)-(108,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (108,10)-(108,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (108,10)-(108,13)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 123 │ ├── locals: [] │ ├── def_keyword_loc: (108,0)-(108,3) = "def" @@ -925,11 +1009,13 @@ │ ├── equal_loc: (108,8)-(108,9) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (110,0)-(110,19)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (110,4)-(110,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (110,6)-(110,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -944,9 +1030,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (110,10)-(110,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (110,10)-(110,14)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -957,6 +1044,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SplatNode (location: (110,12)-(110,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (110,12)-(110,13) = "*" │ │ │ └── expression: ∅ │ │ ├── closing_loc: (110,13)-(110,14) = ")" @@ -969,11 +1057,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (110,16)-(110,19) = "end" ├── @ DefNode (location: (112,0)-(112,23)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (112,4)-(112,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (112,6)-(112,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -981,12 +1071,14 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (112,6)-(112,9)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (112,12)-(112,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (112,12)-(112,18)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -997,6 +1089,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ForwardingArgumentsNode (location: (112,14)-(112,17)) + │ │ │ └── flags: ∅ │ │ ├── closing_loc: (112,17)-(112,18) = ")" │ │ └── block: ∅ │ ├── locals: [] @@ -1007,11 +1100,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (112,20)-(112,23) = "end" ├── @ DefNode (location: (114,0)-(114,29)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (114,4)-(114,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (114,6)-(114,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1019,12 +1114,14 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (114,6)-(114,9)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (114,12)-(114,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (114,12)-(114,24)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -1035,12 +1132,13 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 3) │ │ │ ├── @ IntegerNode (location: (114,14)-(114,15)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── @ IntegerNode (location: (114,17)-(114,18)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ ForwardingArgumentsNode (location: (114,20)-(114,23)) + │ │ │ └── flags: ∅ │ │ ├── closing_loc: (114,23)-(114,24) = ")" │ │ └── block: ∅ │ ├── locals: [] @@ -1051,12 +1149,15 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (114,26)-(114,29) = "end" ├── @ DefNode (location: (116,0)-(117,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (116,12)-(116,13) = "a" │ ├── receiver: │ │ @ ParenthesesNode (location: (116,4)-(116,11)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ LocalVariableWriteNode (location: (116,5)-(116,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :c │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (116,5)-(116,6) = "c" @@ -1084,11 +1185,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (117,0)-(117,3) = "end" ├── @ DefNode (location: (119,0)-(120,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (119,4)-(119,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (119,6)-(119,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1110,11 +1213,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (120,0)-(120,3) = "end" ├── @ DefNode (location: (122,0)-(123,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (122,4)-(122,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (122,6)-(122,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1136,10 +1241,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (123,0)-(123,3) = "end" ├── @ DefNode (location: (125,0)-(126,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (125,10)-(125,11) = "a" │ ├── receiver: │ │ @ ClassVariableReadNode (location: (125,4)-(125,9)) + │ │ ├── flags: ∅ │ │ └── name: :@@var │ ├── parameters: ∅ │ ├── body: ∅ @@ -1151,12 +1258,15 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (126,0)-(126,3) = "end" ├── @ DefNode (location: (128,0)-(129,3)) + │ ├── flags: newline │ ├── name: :C │ ├── name_loc: (128,12)-(128,13) = "C" │ ├── receiver: │ │ @ ParenthesesNode (location: (128,4)-(128,11)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ LocalVariableWriteNode (location: (128,5)-(128,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (128,5)-(128,6) = "a" @@ -1184,10 +1294,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (129,0)-(129,3) = "end" ├── @ DefNode (location: (131,0)-(131,28)) + │ ├── flags: newline │ ├── name: :Array_function │ ├── name_loc: (131,9)-(131,23) = "Array_function" │ ├── receiver: │ │ @ SelfNode (location: (131,4)-(131,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -1198,18 +1310,21 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (131,25)-(131,28) = "end" ├── @ ConstantWriteNode (location: (133,0)-(133,9)) + │ ├── flags: newline │ ├── name: :Const │ ├── name_loc: (133,0)-(133,5) = "Const" │ ├── value: │ │ @ IntegerNode (location: (133,8)-(133,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (133,6)-(133,7) = "=" ├── @ DefNode (location: (133,11)-(134,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (133,21)-(133,22) = "a" │ ├── receiver: │ │ @ ConstantReadNode (location: (133,15)-(133,20)) + │ │ ├── flags: ∅ │ │ └── name: :Const │ ├── parameters: ∅ │ ├── body: ∅ @@ -1221,11 +1336,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (134,0)-(134,3) = "end" ├── @ DefNode (location: (136,0)-(136,31)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (136,4)-(136,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (136,6)-(136,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1233,24 +1350,28 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (136,6)-(136,9)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (136,12)-(136,26)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ InterpolatedStringNode (location: (136,12)-(136,26)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (136,12)-(136,13) = "\"" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (136,13)-(136,16)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (136,13)-(136,16) = "foo" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ └── @ EmbeddedStatementsNode (location: (136,16)-(136,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (136,16)-(136,18) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (136,18)-(136,24)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (136,18)-(136,24)) │ │ │ │ ├── flags: ignore_visibility @@ -1264,6 +1385,7 @@ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ └── @ ForwardingArgumentsNode (location: (136,20)-(136,23)) + │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── closing_loc: (136,23)-(136,24) = ")" │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (136,24)-(136,25) = "}" @@ -1276,17 +1398,20 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (136,28)-(136,31) = "end" ├── @ DefNode (location: (138,0)-(140,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (138,4)-(138,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (139,2)-(139,30)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (139,2)-(139,30)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ HashNode (location: (139,2)-(139,4)) + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (139,2)-(139,3) = "{" │ │ │ ├── elements: (length: 0) │ │ │ └── closing_loc: (139,3)-(139,4) = "}" @@ -1302,6 +1427,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── elements: (length: 3) │ │ │ ├── @ AssocSplatNode (location: (139,11)-(139,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── value: │ │ │ │ │ @ CallNode (location: (139,13)-(139,16)) │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -1315,6 +1441,7 @@ │ │ │ │ │ └── block: ∅ │ │ │ │ └── operator_loc: (139,11)-(139,13) = "**" │ │ │ ├── @ AssocSplatNode (location: (139,18)-(139,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── value: │ │ │ │ │ @ CallNode (location: (139,20)-(139,23)) │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -1328,6 +1455,7 @@ │ │ │ │ │ └── block: ∅ │ │ │ │ └── operator_loc: (139,18)-(139,20) = "**" │ │ │ └── @ AssocSplatNode (location: (139,25)-(139,30)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ CallNode (location: (139,27)-(139,30)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -1350,11 +1478,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (140,0)-(140,3) = "end" ├── @ DefNode (location: (142,0)-(143,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (142,4)-(142,7) = "bar" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (142,8)-(142,19)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1366,18 +1496,20 @@ │ │ │ ├── name_loc: (142,8)-(142,10) = "a:" │ │ │ └── value: │ │ │ @ ParenthesesNode (location: (142,11)-(142,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (142,12)-(142,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (142,12)-(142,18)) - │ │ │ │ ├── flags: exclude_end + │ │ │ │ ├── flags: newline, static_literal, exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (142,12)-(142,13)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (142,16)-(142,18)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 10 │ │ │ │ └── operator_loc: (142,13)-(142,16) = "..." │ │ │ ├── opening_loc: (142,11)-(142,12) = "(" @@ -1393,11 +1525,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (143,0)-(143,3) = "end" ├── @ DefNode (location: (145,0)-(146,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (145,4)-(145,7) = "bar" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (145,8)-(145,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1409,15 +1543,17 @@ │ │ │ ├── name_loc: (145,8)-(145,10) = "a:" │ │ │ └── value: │ │ │ @ ParenthesesNode (location: (145,11)-(145,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (145,12)-(145,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (145,12)-(145,17)) - │ │ │ │ ├── flags: exclude_end + │ │ │ │ ├── flags: newline, static_literal, exclude_end │ │ │ │ ├── left: ∅ │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (145,15)-(145,17)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 10 │ │ │ │ └── operator_loc: (145,12)-(145,15) = "..." │ │ │ ├── opening_loc: (145,11)-(145,12) = "(" @@ -1433,11 +1569,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (146,0)-(146,3) = "end" ├── @ DefNode (location: (148,0)-(149,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (148,4)-(148,7) = "bar" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (148,8)-(148,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1449,14 +1587,16 @@ │ │ │ ├── name_loc: (148,8)-(148,10) = "a:" │ │ │ └── value: │ │ │ @ ParenthesesNode (location: (148,11)-(148,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (148,12)-(148,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (148,12)-(148,16)) - │ │ │ │ ├── flags: exclude_end + │ │ │ │ ├── flags: newline, static_literal, exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (148,12)-(148,13)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── right: ∅ │ │ │ │ └── operator_loc: (148,13)-(148,16) = "..." @@ -1473,11 +1613,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (149,0)-(149,3) = "end" ├── @ DefNode (location: (151,0)-(152,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (151,4)-(151,7) = "bar" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (151,8)-(151,20)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (151,8)-(151,20)) @@ -1487,18 +1629,20 @@ │ │ │ ├── operator_loc: (151,10)-(151,11) = "=" │ │ │ └── value: │ │ │ @ ParenthesesNode (location: (151,12)-(151,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (151,13)-(151,19)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (151,13)-(151,19)) - │ │ │ │ ├── flags: exclude_end + │ │ │ │ ├── flags: newline, static_literal, exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (151,13)-(151,14)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (151,17)-(151,19)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 10 │ │ │ │ └── operator_loc: (151,14)-(151,17) = "..." │ │ │ ├── opening_loc: (151,12)-(151,13) = "(" @@ -1517,11 +1661,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (152,0)-(152,3) = "end" ├── @ DefNode (location: (154,0)-(155,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (154,4)-(154,7) = "bar" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (154,8)-(154,19)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (154,8)-(154,19)) @@ -1531,15 +1677,17 @@ │ │ │ ├── operator_loc: (154,10)-(154,11) = "=" │ │ │ └── value: │ │ │ @ ParenthesesNode (location: (154,12)-(154,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (154,13)-(154,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (154,13)-(154,18)) - │ │ │ │ ├── flags: exclude_end + │ │ │ │ ├── flags: newline, static_literal, exclude_end │ │ │ │ ├── left: ∅ │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (154,16)-(154,18)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 10 │ │ │ │ └── operator_loc: (154,13)-(154,16) = "..." │ │ │ ├── opening_loc: (154,12)-(154,13) = "(" @@ -1558,11 +1706,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (155,0)-(155,3) = "end" ├── @ DefNode (location: (157,0)-(158,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (157,4)-(157,7) = "bar" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (157,8)-(157,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (157,8)-(157,18)) @@ -1572,14 +1722,16 @@ │ │ │ ├── operator_loc: (157,10)-(157,11) = "=" │ │ │ └── value: │ │ │ @ ParenthesesNode (location: (157,12)-(157,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (157,13)-(157,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RangeNode (location: (157,13)-(157,17)) - │ │ │ │ ├── flags: exclude_end + │ │ │ │ ├── flags: newline, static_literal, exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (157,13)-(157,14)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── right: ∅ │ │ │ │ └── operator_loc: (157,14)-(157,17) = "..." @@ -1599,11 +1751,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (158,0)-(158,3) = "end" ├── @ DefNode (location: (160,0)-(162,3)) + │ ├── flags: newline │ ├── name: :method │ ├── name_loc: (160,4)-(160,10) = "method" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (160,11)-(160,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (160,11)-(160,12)) │ │ │ ├── flags: ∅ @@ -1616,9 +1770,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (161,2)-(161,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (161,2)-(161,14)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (161,2)-(161,6)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -1649,6 +1804,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (161,12)-(161,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -1664,19 +1820,22 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (162,0)-(162,3) = "end" ├── @ LocalVariableWriteNode (location: (164,0)-(164,7)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (164,0)-(164,3) = "foo" │ ├── value: │ │ @ IntegerNode (location: (164,6)-(164,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (164,4)-(164,5) = "=" ├── @ DefNode (location: (165,0)-(165,16)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (165,8)-(165,11) = "bar" │ ├── receiver: │ │ @ LocalVariableReadNode (location: (165,4)-(165,7)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── parameters: ∅ @@ -1689,11 +1848,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (165,13)-(165,16) = "end" ├── @ DefNode (location: (167,0)-(167,18)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (167,4)-(167,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (167,6)-(167,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -1708,11 +1869,13 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (167,10)-(167,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ArrayNode (location: (167,10)-(167,13)) - │ │ ├── flags: contains_splat + │ │ ├── flags: newline, contains_splat │ │ ├── elements: (length: 1) │ │ │ └── @ SplatNode (location: (167,11)-(167,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (167,11)-(167,12) = "*" │ │ │ └── expression: ∅ │ │ ├── opening_loc: (167,10)-(167,11) = "[" @@ -1725,11 +1888,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (167,15)-(167,18) = "end" ├── @ DefNode (location: (169,0)-(169,15)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (169,4)-(169,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (169,6)-(169,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1771,11 +1936,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (169,12)-(169,15) = "end" ├── @ DefNode (location: (171,0)-(171,15)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (171,4)-(171,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (171,6)-(171,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1817,11 +1984,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (171,12)-(171,15) = "end" ├── @ DefNode (location: (173,0)-(173,15)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (173,4)-(173,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (173,6)-(173,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1863,11 +2032,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (173,12)-(173,15) = "end" ├── @ DefNode (location: (175,0)-(175,20)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (175,4)-(175,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (175,8)-(175,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1895,11 +2066,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (175,17)-(175,20) = "end" ├── @ DefNode (location: (177,0)-(179,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (177,4)-(177,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (177,8)-(177,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1907,12 +2080,14 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (177,8)-(177,11)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (178,2)-(178,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (178,2)-(178,10)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -1923,6 +2098,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ForwardingArgumentsNode (location: (178,6)-(178,9)) + │ │ │ └── flags: ∅ │ │ ├── closing_loc: (178,9)-(178,10) = ")" │ │ └── block: ∅ │ ├── locals: [] @@ -1933,11 +2109,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (179,0)-(179,3) = "end" ├── @ DefNode (location: (181,0)-(181,42)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (181,4)-(181,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (181,8)-(181,37)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (181,8)-(181,37)) @@ -1947,15 +2125,19 @@ │ │ │ ├── operator_loc: (181,12)-(181,13) = "=" │ │ │ └── value: │ │ │ @ ParenthesesNode (location: (181,14)-(181,37)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (181,15)-(181,36)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 2) │ │ │ │ ├── @ DefNode (location: (181,15)-(181,33)) + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── name: :baz │ │ │ │ │ ├── name_loc: (181,19)-(181,22) = "baz" │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── parameters: │ │ │ │ │ │ @ ParametersNode (location: (181,23)-(181,26)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (181,23)-(181,26)) │ │ │ │ │ │ │ ├── flags: ∅ @@ -1968,8 +2150,10 @@ │ │ │ │ │ │ └── block: ∅ │ │ │ │ │ ├── body: │ │ │ │ │ │ @ StatementsNode (location: (181,30)-(181,33)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ LocalVariableReadNode (location: (181,30)-(181,33)) + │ │ │ │ │ │ ├── flags: newline │ │ │ │ │ │ ├── name: :bar │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ ├── locals: [:bar] @@ -1980,7 +2164,7 @@ │ │ │ │ │ ├── equal_loc: (181,28)-(181,29) = "=" │ │ │ │ │ └── end_keyword_loc: ∅ │ │ │ │ └── @ IntegerNode (location: (181,35)-(181,36)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── opening_loc: (181,14)-(181,15) = "(" │ │ │ └── closing_loc: (181,36)-(181,37) = ")" @@ -1991,9 +2175,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (181,41)-(181,42)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (181,41)-(181,42)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 2 │ ├── locals: [:bar] │ ├── def_keyword_loc: (181,0)-(181,3) = "def" @@ -2003,16 +2188,20 @@ │ ├── equal_loc: (181,39)-(181,40) = "=" │ └── end_keyword_loc: ∅ └── @ DefNode (location: (183,0)-(183,37)) + ├── flags: newline ├── name: :foo ├── name_loc: (183,21)-(183,24) = "foo" ├── receiver: │ @ ParenthesesNode (location: (183,4)-(183,20)) + │ ├── flags: ∅ │ ├── body: │ │ @ ClassNode (location: (183,5)-(183,19)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── class_keyword_loc: (183,5)-(183,10) = "class" │ │ ├── constant_path: │ │ │ @ ConstantReadNode (location: (183,11)-(183,14)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── inheritance_operator_loc: ∅ │ │ ├── superclass: ∅ @@ -2023,6 +2212,7 @@ │ └── closing_loc: (183,19)-(183,20) = ")" ├── parameters: │ @ ParametersNode (location: (183,25)-(183,32)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 1) │ │ └── @ OptionalParameterNode (location: (183,25)-(183,32)) @@ -2032,7 +2222,7 @@ │ │ ├── operator_loc: (183,29)-(183,30) = "=" │ │ └── value: │ │ @ IntegerNode (location: (183,31)-(183,32)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── rest: ∅ │ ├── posts: (length: 0) @@ -2041,9 +2231,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (183,36)-(183,37)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (183,36)-(183,37)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 2 ├── locals: [:bar] ├── def_keyword_loc: (183,0)-(183,3) = "def" diff --git a/test/prism/snapshots/modules.txt b/test/prism/snapshots/modules.txt index de1ea8feeb..d889d855af 100644 --- a/test/prism/snapshots/modules.txt +++ b/test/prism/snapshots/modules.txt @@ -1,42 +1,50 @@ @ ProgramNode (location: (1,0)-(18,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(18,3)) + ├── flags: ∅ └── body: (length: 7) ├── @ ModuleNode (location: (1,0)-(1,18)) + │ ├── flags: newline │ ├── locals: [:a] │ ├── module_keyword_loc: (1,0)-(1,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (1,7)-(1,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (1,9)-(1,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (1,9)-(1,14)) + │ │ ├── flags: newline │ │ ├── name: :a │ │ ├── depth: 0 │ │ ├── name_loc: (1,9)-(1,10) = "a" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,13)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (1,11)-(1,12) = "=" │ ├── end_keyword_loc: (1,15)-(1,18) = "end" │ └── name: :A ├── @ InterpolatedStringNode (location: (3,0)-(3,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (3,0)-(3,3) = "%Q{" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (3,3)-(3,7)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,3)-(3,7) = "aaa " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "aaa " │ │ ├── @ EmbeddedStatementsNode (location: (3,7)-(3,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (3,7)-(3,9) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (3,9)-(3,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (3,9)-(3,12)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -50,17 +58,19 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (3,12)-(3,13) = "}" │ │ └── @ StringNode (location: (3,13)-(3,17)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (3,13)-(3,17) = " ccc" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " ccc" │ └── closing_loc: (3,17)-(3,18) = "}" ├── @ ModuleNode (location: (5,0)-(6,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (5,0)-(5,6) = "module" │ ├── constant_path: │ │ @ ConstantPathNode (location: (5,7)-(5,11)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ CallNode (location: (5,7)-(5,8)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -79,28 +89,34 @@ │ ├── end_keyword_loc: (6,0)-(6,3) = "end" │ └── name: :M ├── @ ModuleNode (location: (8,0)-(9,19)) + │ ├── flags: newline │ ├── locals: [:x] │ ├── module_keyword_loc: (8,0)-(8,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (8,7)-(8,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ BeginNode (location: (8,0)-(9,19)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (9,1)-(9,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableWriteNode (location: (9,1)-(9,6)) + │ │ │ ├── flags: newline │ │ │ ├── name: :x │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (9,1)-(9,2) = "x" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (9,5)-(9,6)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: (9,3)-(9,4) = "=" │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (9,8)-(9,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (9,8)-(9,14) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -113,10 +129,12 @@ │ ├── end_keyword_loc: (9,16)-(9,19) = "end" │ └── name: :A ├── @ ModuleNode (location: (11,0)-(12,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (11,0)-(11,6) = "module" │ ├── constant_path: │ │ @ ConstantPathNode (location: (11,7)-(11,10)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :A │ │ ├── delimiter_loc: (11,7)-(11,9) = "::" @@ -125,15 +143,18 @@ │ ├── end_keyword_loc: (12,0)-(12,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (14,0)-(15,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (14,0)-(14,6) = "module" │ ├── constant_path: │ │ @ ConstantPathNode (location: (14,7)-(14,13)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ CallNode (location: (14,7)-(14,10)) │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ ConstantReadNode (location: (14,7)-(14,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :A │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :[] @@ -149,15 +170,18 @@ │ ├── end_keyword_loc: (15,0)-(15,3) = "end" │ └── name: :B └── @ ModuleNode (location: (17,0)-(18,3)) + ├── flags: newline ├── locals: [] ├── module_keyword_loc: (17,0)-(17,6) = "module" ├── constant_path: │ @ ConstantPathNode (location: (17,7)-(17,14)) + │ ├── flags: ∅ │ ├── parent: │ │ @ CallNode (location: (17,7)-(17,11)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ ConstantReadNode (location: (17,7)-(17,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── call_operator_loc: ∅ │ │ ├── name: :[] @@ -168,7 +192,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (17,9)-(17,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: (17,10)-(17,11) = "]" │ │ └── block: ∅ diff --git a/test/prism/snapshots/multi_write.txt b/test/prism/snapshots/multi_write.txt index d313801fdb..68fa62cf92 100644 --- a/test/prism/snapshots/multi_write.txt +++ b/test/prism/snapshots/multi_write.txt @@ -1,28 +1,36 @@ @ ProgramNode (location: (1,0)-(4,26)) +├── flags: ∅ ├── locals: [:foo, :bar] └── statements: @ StatementsNode (location: (1,0)-(4,26)) + ├── flags: ∅ └── body: (length: 4) ├── @ LocalVariableWriteNode (location: (1,0)-(1,18)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (1,0)-(1,3) = "foo" │ ├── value: │ │ @ RescueModifierNode (location: (1,6)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── expression: │ │ │ @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── keyword_loc: (1,8)-(1,14) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (1,15)-(1,18)) + │ │ └── flags: static_literal │ └── operator_loc: (1,4)-(1,5) = "=" ├── @ MultiWriteNode (location: (2,0)-(2,23)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (2,0)-(2,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (2,5)-(2,8)) + │ │ ├── flags: ∅ │ │ ├── name: :bar │ │ └── depth: 0 │ ├── rest: ∅ @@ -32,28 +40,32 @@ │ ├── operator_loc: (2,9)-(2,10) = "=" │ └── value: │ @ RescueModifierNode (location: (2,11)-(2,23)) + │ ├── flags: ∅ │ ├── expression: │ │ @ IntegerNode (location: (2,11)-(2,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_loc: (2,13)-(2,19) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (2,20)-(2,23)) + │ └── flags: static_literal ├── @ RescueModifierNode (location: (3,0)-(3,21)) + │ ├── flags: newline │ ├── expression: │ │ @ LocalVariableWriteNode (location: (3,0)-(3,10)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── depth: 0 │ │ ├── name_loc: (3,0)-(3,3) = "foo" │ │ ├── value: │ │ │ @ ArrayNode (location: (3,6)-(3,10)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ IntegerNode (location: (3,6)-(3,7)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── @ IntegerNode (location: (3,9)-(3,10)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── opening_loc: ∅ │ │ │ └── closing_loc: ∅ @@ -61,12 +73,16 @@ │ ├── keyword_loc: (3,11)-(3,17) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (3,18)-(3,21)) + │ └── flags: static_literal └── @ MultiWriteNode (location: (4,0)-(4,26)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (4,0)-(4,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (4,5)-(4,8)) + │ ├── flags: ∅ │ ├── name: :bar │ └── depth: 0 ├── rest: ∅ @@ -76,18 +92,20 @@ ├── operator_loc: (4,9)-(4,10) = "=" └── value: @ RescueModifierNode (location: (4,11)-(4,26)) + ├── flags: ∅ ├── expression: │ @ ArrayNode (location: (4,11)-(4,15)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (4,11)-(4,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (4,14)-(4,15)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── keyword_loc: (4,16)-(4,22) = "rescue" └── rescue_expression: @ NilNode (location: (4,23)-(4,26)) + └── flags: static_literal diff --git a/test/prism/snapshots/newline_terminated.txt b/test/prism/snapshots/newline_terminated.txt index 6a3b28dba9..85e996fa5a 100644 --- a/test/prism/snapshots/newline_terminated.txt +++ b/test/prism/snapshots/newline_terminated.txt @@ -1,106 +1,108 @@ @ ProgramNode (location: (3,0)-(41,0)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (3,0)-(41,0)) + ├── flags: ∅ └── body: (length: 17) ├── @ StringNode (location: (3,0)-(3,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (3,0)-(3,2) = "% " │ ├── content_loc: (3,2)-(3,5) = "abc" │ ├── closing_loc: (3,5)-(3,6) = " " │ └── unescaped: "abc" ├── @ StringNode (location: (4,0)-(4,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (4,0)-(4,2) = "%\t" │ ├── content_loc: (4,2)-(4,5) = "abc" │ ├── closing_loc: (4,5)-(4,6) = "\t" │ └── unescaped: "abc" ├── @ StringNode (location: (5,0)-(5,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (5,0)-(5,2) = "%\v" │ ├── content_loc: (5,2)-(5,5) = "abc" │ ├── closing_loc: (5,5)-(5,6) = "\v" │ └── unescaped: "abc" ├── @ StringNode (location: (6,0)-(6,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (6,0)-(6,2) = "%\r" │ ├── content_loc: (6,2)-(6,5) = "abc" │ ├── closing_loc: (6,5)-(6,6) = "\r" │ └── unescaped: "abc" ├── @ StringNode (location: (7,0)-(9,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (7,0)-(8,0) = "%\n" │ ├── content_loc: (8,0)-(8,3) = "abc" │ ├── closing_loc: (8,3)-(9,0) = "\n" │ └── unescaped: "abc" ├── @ StringNode (location: (10,0)-(10,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (10,0)-(10,2) = "%\u0000" │ ├── content_loc: (10,2)-(10,5) = "abc" │ ├── closing_loc: (10,5)-(10,6) = "\u0000" │ └── unescaped: "abc" ├── @ StringNode (location: (11,0)-(13,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (11,0)-(12,0) = "%\n" │ ├── content_loc: (12,0)-(12,3) = "abc" │ ├── closing_loc: (12,3)-(13,0) = "\n" │ └── unescaped: "abc" ├── @ StringNode (location: (14,0)-(16,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (14,0)-(15,0) = "%\n" │ ├── content_loc: (15,0)-(15,4) = "\rabc" │ ├── closing_loc: (15,4)-(16,0) = "\n" │ └── unescaped: "\rabc" ├── @ StringNode (location: (17,0)-(19,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (17,0)-(18,0) = "%\n" │ ├── content_loc: (18,0)-(18,4) = "\rabc" │ ├── closing_loc: (18,4)-(19,0) = "\n" │ └── unescaped: "\rabc" ├── @ StringNode (location: (20,0)-(22,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (20,0)-(21,0) = "%\n" │ ├── content_loc: (21,0)-(21,3) = "abc" │ ├── closing_loc: (21,3)-(22,0) = "\n" │ └── unescaped: "abc" ├── @ StringNode (location: (23,0)-(23,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (23,0)-(23,2) = "%\r" │ ├── content_loc: (23,2)-(23,5) = "abc" │ ├── closing_loc: (23,5)-(23,6) = "\r" │ └── unescaped: "abc" ├── @ StringNode (location: (24,0)-(26,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (24,0)-(25,0) = "%\n" │ ├── content_loc: (25,0)-(25,3) = "abc" │ ├── closing_loc: (25,3)-(26,0) = "\n" │ └── unescaped: "abc" ├── @ StringNode (location: (27,0)-(29,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (27,0)-(28,0) = "%\n" │ ├── content_loc: (28,0)-(28,3) = "abc" │ ├── closing_loc: (28,3)-(29,0) = "\n" │ └── unescaped: "abc" ├── @ StringNode (location: (30,0)-(32,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (30,0)-(31,0) = "%\n" │ ├── content_loc: (31,0)-(31,3) = "foo" │ ├── closing_loc: (31,3)-(32,0) = "\n" │ └── unescaped: "foo" ├── @ StringNode (location: (33,0)-(35,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (33,0)-(34,0) = "%q\n" │ ├── content_loc: (34,0)-(34,3) = "foo" │ ├── closing_loc: (34,3)-(35,0) = "\n" │ └── unescaped: "foo" ├── @ StringNode (location: (36,0)-(38,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (36,0)-(37,0) = "%Q\n" │ ├── content_loc: (37,0)-(37,3) = "foo" │ ├── closing_loc: (37,3)-(38,0) = "\n" │ └── unescaped: "foo" └── @ RegularExpressionNode (location: (39,0)-(41,0)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (39,0)-(40,0) = "%r\n" ├── content_loc: (40,0)-(40,3) = "foo" ├── closing_loc: (40,3)-(41,0) = "\n" diff --git a/test/prism/snapshots/next.txt b/test/prism/snapshots/next.txt index ce2e497de9..5b0becea1c 100644 --- a/test/prism/snapshots/next.txt +++ b/test/prism/snapshots/next.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(24,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(24,15)) + ├── flags: ∅ └── body: (length: 10) ├── @ CallNode (location: (1,0)-(1,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -14,18 +16,21 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,6)-(1,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (1,6)-(1,10)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (1,6)-(1,10) = "next" │ ├── opening_loc: (1,4)-(1,5) = "{" │ └── closing_loc: (1,11)-(1,12) = "}" ├── @ CallNode (location: (3,0)-(3,26)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -35,40 +40,49 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,4)-(3,26)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,6)-(3,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (3,6)-(3,24)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,11)-(3,24)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 3) │ │ │ ├── @ ParenthesesNode (location: (3,11)-(3,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (3,12)-(3,13)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (3,12)-(3,13)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── opening_loc: (3,11)-(3,12) = "(" │ │ │ │ └── closing_loc: (3,13)-(3,14) = ")" │ │ │ ├── @ ParenthesesNode (location: (3,16)-(3,19)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (3,17)-(3,18)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (3,17)-(3,18)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ ├── opening_loc: (3,16)-(3,17) = "(" │ │ │ │ └── closing_loc: (3,18)-(3,19) = ")" │ │ │ └── @ ParenthesesNode (location: (3,21)-(3,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (3,22)-(3,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (3,22)-(3,23)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 3 │ │ │ ├── opening_loc: (3,21)-(3,22) = "(" │ │ │ └── closing_loc: (3,23)-(3,24) = ")" @@ -76,7 +90,7 @@ │ ├── opening_loc: (3,4)-(3,5) = "{" │ └── closing_loc: (3,25)-(3,26) = "}" ├── @ CallNode (location: (5,0)-(5,14)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -86,24 +100,27 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,4)-(5,14)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,6)-(5,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (5,6)-(5,12)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (5,11)-(5,12)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (5,11)-(5,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── keyword_loc: (5,6)-(5,10) = "next" │ ├── opening_loc: (5,4)-(5,5) = "{" │ └── closing_loc: (5,13)-(5,14) = "}" ├── @ CallNode (location: (7,0)-(8,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -113,30 +130,33 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (7,4)-(8,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,6)-(8,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (7,6)-(8,1)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (7,11)-(8,1)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 3) │ │ │ ├── @ IntegerNode (location: (7,11)-(7,12)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── @ IntegerNode (location: (7,14)-(7,15)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ IntegerNode (location: (8,0)-(8,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ └── keyword_loc: (7,6)-(7,10) = "next" │ ├── opening_loc: (7,4)-(7,5) = "{" │ └── closing_loc: (8,2)-(8,3) = "}" ├── @ CallNode (location: (10,0)-(10,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -146,30 +166,33 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (10,4)-(10,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (10,6)-(10,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (10,6)-(10,18)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (10,11)-(10,18)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 3) │ │ │ ├── @ IntegerNode (location: (10,11)-(10,12)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── @ IntegerNode (location: (10,14)-(10,15)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ IntegerNode (location: (10,17)-(10,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ └── keyword_loc: (10,6)-(10,10) = "next" │ ├── opening_loc: (10,4)-(10,5) = "{" │ └── closing_loc: (10,19)-(10,20) = "}" ├── @ CallNode (location: (12,0)-(12,22)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -179,27 +202,30 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (12,4)-(12,22)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (12,6)-(12,20)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (12,6)-(12,20)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (12,11)-(12,20)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ArrayNode (location: (12,11)-(12,20)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 3) │ │ │ │ ├── @ IntegerNode (location: (12,12)-(12,13)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── @ IntegerNode (location: (12,15)-(12,16)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ └── @ IntegerNode (location: (12,18)-(12,19)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 3 │ │ │ ├── opening_loc: (12,11)-(12,12) = "[" │ │ │ └── closing_loc: (12,19)-(12,20) = "]" @@ -207,7 +233,7 @@ │ ├── opening_loc: (12,4)-(12,5) = "{" │ └── closing_loc: (12,21)-(12,22) = "}" ├── @ CallNode (location: (14,0)-(17,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -217,25 +243,30 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (14,4)-(17,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (14,6)-(17,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (14,6)-(17,1)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (14,10)-(17,1)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ParenthesesNode (location: (14,10)-(17,1)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (15,2)-(16,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 2) │ │ │ │ ├── @ IntegerNode (location: (15,2)-(15,3)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── @ IntegerNode (location: (16,2)-(16,3)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── opening_loc: (14,10)-(14,11) = "(" │ │ │ └── closing_loc: (17,0)-(17,1) = ")" @@ -243,7 +274,7 @@ │ ├── opening_loc: (14,4)-(14,5) = "{" │ └── closing_loc: (17,2)-(17,3) = "}" ├── @ CallNode (location: (19,0)-(20,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -253,21 +284,24 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (19,4)-(20,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (19,6)-(20,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ NextNode (location: (19,6)-(19,10)) + │ │ │ ├── flags: newline │ │ │ ├── arguments: ∅ │ │ │ └── keyword_loc: (19,6)-(19,10) = "next" │ │ └── @ IntegerNode (location: (20,0)-(20,1)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── opening_loc: (19,4)-(19,5) = "{" │ └── closing_loc: (20,2)-(20,3) = "}" ├── @ CallNode (location: (22,0)-(22,14)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -277,17 +311,21 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (22,4)-(22,14)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (22,6)-(22,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (22,6)-(22,12)) + │ │ ├── flags: newline │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (22,10)-(22,12)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ParenthesesNode (location: (22,10)-(22,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (22,10)-(22,11) = "(" │ │ │ └── closing_loc: (22,11)-(22,12) = ")" @@ -295,7 +333,7 @@ │ ├── opening_loc: (22,4)-(22,5) = "{" │ └── closing_loc: (22,13)-(22,14) = "}" └── @ CallNode (location: (24,0)-(24,15)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -305,22 +343,27 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (24,4)-(24,15)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (24,6)-(24,13)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ NextNode (location: (24,6)-(24,13)) + │ ├── flags: newline │ ├── arguments: │ │ @ ArgumentsNode (location: (24,10)-(24,13)) │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ParenthesesNode (location: (24,10)-(24,13)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (24,11)-(24,12)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (24,11)-(24,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: (24,10)-(24,11) = "(" │ │ └── closing_loc: (24,12)-(24,13) = ")" diff --git a/test/prism/snapshots/nils.txt b/test/prism/snapshots/nils.txt index f72745560f..275bc373a5 100644 --- a/test/prism/snapshots/nils.txt +++ b/test/prism/snapshots/nils.txt @@ -1,33 +1,42 @@ @ ProgramNode (location: (1,0)-(12,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(12,11)) + ├── flags: ∅ └── body: (length: 5) ├── @ NilNode (location: (1,0)-(1,3)) + │ └── flags: newline, static_literal ├── @ ParenthesesNode (location: (3,0)-(3,2)) + │ ├── flags: newline │ ├── body: ∅ │ ├── opening_loc: (3,0)-(3,1) = "(" │ └── closing_loc: (3,1)-(3,2) = ")" ├── @ ParenthesesNode (location: (5,0)-(8,1)) + │ ├── flags: newline │ ├── body: ∅ │ ├── opening_loc: (5,0)-(5,1) = "(" │ └── closing_loc: (8,0)-(8,1) = ")" ├── @ PostExecutionNode (location: (10,0)-(10,9)) + │ ├── flags: newline │ ├── statements: │ │ @ StatementsNode (location: (10,6)-(10,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (10,6)-(10,7)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── keyword_loc: (10,0)-(10,3) = "END" │ ├── opening_loc: (10,4)-(10,5) = "{" │ └── closing_loc: (10,8)-(10,9) = "}" └── @ PreExecutionNode (location: (12,0)-(12,11)) + ├── flags: newline ├── statements: │ @ StatementsNode (location: (12,8)-(12,9)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (12,8)-(12,9)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── keyword_loc: (12,0)-(12,5) = "BEGIN" ├── opening_loc: (12,6)-(12,7) = "{" diff --git a/test/prism/snapshots/non_alphanumeric_methods.txt b/test/prism/snapshots/non_alphanumeric_methods.txt index 2ed66fe0e2..2d29d365e4 100644 --- a/test/prism/snapshots/non_alphanumeric_methods.txt +++ b/test/prism/snapshots/non_alphanumeric_methods.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(105,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(105,3)) + ├── flags: ∅ └── body: (length: 36) ├── @ DefNode (location: (1,0)-(2,3)) + │ ├── flags: newline │ ├── name: :! │ ├── name_loc: (1,4)-(1,5) = "!" │ ├── receiver: ∅ @@ -17,6 +20,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (2,0)-(2,3) = "end" ├── @ DefNode (location: (4,0)-(5,3)) + │ ├── flags: newline │ ├── name: :!= │ ├── name_loc: (4,4)-(4,6) = "!=" │ ├── receiver: ∅ @@ -30,6 +34,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ DefNode (location: (7,0)-(8,3)) + │ ├── flags: newline │ ├── name: :!~ │ ├── name_loc: (7,4)-(7,6) = "!~" │ ├── receiver: ∅ @@ -43,6 +48,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (8,0)-(8,3) = "end" ├── @ DefNode (location: (10,0)-(11,3)) + │ ├── flags: newline │ ├── name: :% │ ├── name_loc: (10,4)-(10,5) = "%" │ ├── receiver: ∅ @@ -56,10 +62,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ DefNode (location: (13,0)-(14,3)) + │ ├── flags: newline │ ├── name: :+ │ ├── name_loc: (13,9)-(13,10) = "+" │ ├── receiver: │ │ @ SelfNode (location: (13,4)-(13,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -70,6 +78,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (14,0)-(14,3) = "end" ├── @ DefNode (location: (16,0)-(17,3)) + │ ├── flags: newline │ ├── name: :& │ ├── name_loc: (16,4)-(16,5) = "&" │ ├── receiver: ∅ @@ -83,6 +92,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (17,0)-(17,3) = "end" ├── @ DefNode (location: (19,0)-(20,3)) + │ ├── flags: newline │ ├── name: :* │ ├── name_loc: (19,4)-(19,5) = "*" │ ├── receiver: ∅ @@ -96,6 +106,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (20,0)-(20,3) = "end" ├── @ DefNode (location: (22,0)-(23,3)) + │ ├── flags: newline │ ├── name: :** │ ├── name_loc: (22,4)-(22,6) = "**" │ ├── receiver: ∅ @@ -109,17 +120,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (23,0)-(23,3) = "end" ├── @ StringNode (location: (25,0)-(25,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (25,0)-(25,2) = "%|" │ ├── content_loc: (25,2)-(25,5) = "abc" │ ├── closing_loc: (25,5)-(25,6) = "|" │ └── unescaped: "abc" ├── @ DefNode (location: (27,0)-(28,3)) + │ ├── flags: newline │ ├── name: :+ │ ├── name_loc: (27,4)-(27,5) = "+" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (27,6)-(27,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -141,6 +154,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (28,0)-(28,3) = "end" ├── @ DefNode (location: (30,0)-(31,3)) + │ ├── flags: newline │ ├── name: :+ │ ├── name_loc: (30,4)-(30,5) = "+" │ ├── receiver: ∅ @@ -154,11 +168,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (31,0)-(31,3) = "end" ├── @ DefNode (location: (33,0)-(34,3)) + │ ├── flags: newline │ ├── name: :+ │ ├── name_loc: (33,4)-(33,5) = "+" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (33,6)-(33,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (33,6)-(33,7)) │ │ │ ├── flags: ∅ @@ -178,10 +194,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (34,0)-(34,3) = "end" ├── @ DefNode (location: (36,0)-(37,3)) + │ ├── flags: newline │ ├── name: :+ │ ├── name_loc: (36,9)-(36,10) = "+" │ ├── receiver: │ │ @ SelfNode (location: (36,4)-(36,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -192,6 +210,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (37,0)-(37,3) = "end" ├── @ DefNode (location: (39,0)-(40,3)) + │ ├── flags: newline │ ├── name: :+ │ ├── name_loc: (39,4)-(39,5) = "+" │ ├── receiver: ∅ @@ -205,6 +224,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (40,0)-(40,3) = "end" ├── @ DefNode (location: (42,0)-(43,3)) + │ ├── flags: newline │ ├── name: :+@ │ ├── name_loc: (42,4)-(42,6) = "+@" │ ├── receiver: ∅ @@ -218,6 +238,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (43,0)-(43,3) = "end" ├── @ DefNode (location: (45,0)-(46,3)) + │ ├── flags: newline │ ├── name: :- │ ├── name_loc: (45,4)-(45,5) = "-" │ ├── receiver: ∅ @@ -231,6 +252,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (46,0)-(46,3) = "end" ├── @ DefNode (location: (48,0)-(48,11)) + │ ├── flags: newline │ ├── name: :- │ ├── name_loc: (48,6)-(48,7) = "-" │ ├── receiver: @@ -254,6 +276,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (48,8)-(48,11) = "end" ├── @ DefNode (location: (50,0)-(51,3)) + │ ├── flags: newline │ ├── name: :-@ │ ├── name_loc: (50,4)-(50,6) = "-@" │ ├── receiver: ∅ @@ -267,6 +290,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (51,0)-(51,3) = "end" ├── @ DefNode (location: (53,0)-(54,3)) + │ ├── flags: newline │ ├── name: :/ │ ├── name_loc: (53,4)-(53,5) = "/" │ ├── receiver: ∅ @@ -280,6 +304,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (54,0)-(54,3) = "end" ├── @ DefNode (location: (56,0)-(57,3)) + │ ├── flags: newline │ ├── name: :< │ ├── name_loc: (56,4)-(56,5) = "<" │ ├── receiver: ∅ @@ -293,6 +318,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (57,0)-(57,3) = "end" ├── @ DefNode (location: (59,0)-(60,3)) + │ ├── flags: newline │ ├── name: :<< │ ├── name_loc: (59,4)-(59,6) = "<<" │ ├── receiver: ∅ @@ -306,6 +332,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (60,0)-(60,3) = "end" ├── @ DefNode (location: (62,0)-(63,3)) + │ ├── flags: newline │ ├── name: :<= │ ├── name_loc: (62,4)-(62,6) = "<=" │ ├── receiver: ∅ @@ -319,6 +346,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (63,0)-(63,3) = "end" ├── @ DefNode (location: (65,0)-(66,3)) + │ ├── flags: newline │ ├── name: :<=> │ ├── name_loc: (65,4)-(65,7) = "<=>" │ ├── receiver: ∅ @@ -332,6 +360,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (66,0)-(66,3) = "end" ├── @ DefNode (location: (68,0)-(69,3)) + │ ├── flags: newline │ ├── name: :== │ ├── name_loc: (68,4)-(68,6) = "==" │ ├── receiver: ∅ @@ -345,6 +374,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (69,0)-(69,3) = "end" ├── @ DefNode (location: (71,0)-(72,3)) + │ ├── flags: newline │ ├── name: :=== │ ├── name_loc: (71,4)-(71,7) = "===" │ ├── receiver: ∅ @@ -358,6 +388,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (72,0)-(72,3) = "end" ├── @ DefNode (location: (74,0)-(75,3)) + │ ├── flags: newline │ ├── name: :=~ │ ├── name_loc: (74,4)-(74,6) = "=~" │ ├── receiver: ∅ @@ -371,6 +402,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (75,0)-(75,3) = "end" ├── @ DefNode (location: (77,0)-(78,3)) + │ ├── flags: newline │ ├── name: :> │ ├── name_loc: (77,4)-(77,5) = ">" │ ├── receiver: ∅ @@ -384,6 +416,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (78,0)-(78,3) = "end" ├── @ DefNode (location: (80,0)-(81,3)) + │ ├── flags: newline │ ├── name: :>= │ ├── name_loc: (80,4)-(80,6) = ">=" │ ├── receiver: ∅ @@ -397,6 +430,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (81,0)-(81,3) = "end" ├── @ DefNode (location: (83,0)-(84,3)) + │ ├── flags: newline │ ├── name: :>> │ ├── name_loc: (83,4)-(83,6) = ">>" │ ├── receiver: ∅ @@ -410,6 +444,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (84,0)-(84,3) = "end" ├── @ DefNode (location: (86,0)-(87,3)) + │ ├── flags: newline │ ├── name: :[] │ ├── name_loc: (86,4)-(86,6) = "[]" │ ├── receiver: ∅ @@ -423,6 +458,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (87,0)-(87,3) = "end" ├── @ DefNode (location: (89,0)-(90,3)) + │ ├── flags: newline │ ├── name: :[]= │ ├── name_loc: (89,4)-(89,7) = "[]=" │ ├── receiver: ∅ @@ -436,6 +472,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (90,0)-(90,3) = "end" ├── @ DefNode (location: (92,0)-(93,3)) + │ ├── flags: newline │ ├── name: :^ │ ├── name_loc: (92,4)-(92,5) = "^" │ ├── receiver: ∅ @@ -449,6 +486,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (93,0)-(93,3) = "end" ├── @ DefNode (location: (95,0)-(96,3)) + │ ├── flags: newline │ ├── name: :` │ ├── name_loc: (95,4)-(95,5) = "`" │ ├── receiver: ∅ @@ -462,10 +500,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (96,0)-(96,3) = "end" ├── @ DefNode (location: (98,0)-(99,3)) + │ ├── flags: newline │ ├── name: :` │ ├── name_loc: (98,9)-(98,10) = "`" │ ├── receiver: │ │ @ SelfNode (location: (98,4)-(98,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -476,6 +516,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (99,0)-(99,3) = "end" ├── @ DefNode (location: (101,0)-(102,3)) + │ ├── flags: newline │ ├── name: :| │ ├── name_loc: (101,4)-(101,5) = "|" │ ├── receiver: ∅ @@ -489,6 +530,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (102,0)-(102,3) = "end" └── @ DefNode (location: (104,0)-(105,3)) + ├── flags: newline ├── name: :~ ├── name_loc: (104,4)-(104,5) = "~" ├── receiver: ∅ diff --git a/test/prism/snapshots/not.txt b/test/prism/snapshots/not.txt index fda61bb4b5..e164b18813 100644 --- a/test/prism/snapshots/not.txt +++ b/test/prism/snapshots/not.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(37,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(37,16)) + ├── flags: ∅ └── body: (length: 10) ├── @ AndNode (location: (1,0)-(1,19)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (1,0)-(1,7)) │ │ ├── flags: ∅ @@ -48,9 +51,10 @@ │ │ └── block: ∅ │ └── operator_loc: (1,8)-(1,11) = "and" ├── @ CallNode (location: (3,0)-(3,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ AndNode (location: (3,4)-(3,15)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ CallNode (location: (3,4)-(3,7)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -82,7 +86,7 @@ │ ├── closing_loc: (3,15)-(3,16) = ")" │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (5,4)-(5,7)) │ │ ├── flags: variable_call, ignore_visibility @@ -102,6 +106,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ AndNode (location: (7,0)-(8,5)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (7,0)-(7,7)) │ │ ├── flags: ∅ @@ -146,6 +151,7 @@ │ │ └── block: ∅ │ └── operator_loc: (7,8)-(7,11) = "and" ├── @ AndNode (location: (11,0)-(13,5)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (11,0)-(11,7)) │ │ ├── flags: ∅ @@ -190,6 +196,7 @@ │ │ └── block: ∅ │ └── operator_loc: (11,8)-(11,11) = "and" ├── @ AndNode (location: (16,0)-(20,5)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (16,0)-(16,7)) │ │ ├── flags: ∅ @@ -234,7 +241,7 @@ │ │ └── block: ∅ │ └── operator_loc: (16,8)-(16,11) = "and" ├── @ CallNode (location: (22,0)-(25,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (22,4)-(22,7)) │ │ ├── flags: variable_call, ignore_visibility @@ -254,7 +261,7 @@ │ ├── closing_loc: (25,0)-(25,1) = ")" │ └── block: ∅ ├── @ CallNode (location: (27,0)-(33,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (30,0)-(30,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -274,7 +281,7 @@ │ ├── closing_loc: (33,2)-(33,3) = ")" │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ FlipFlopNode (location: (35,4)-(35,14)) │ │ ├── flags: ∅ @@ -309,14 +316,16 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (37,0)-(37,16)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ ParenthesesNode (location: (37,4)-(37,16)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (37,5)-(37,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ FlipFlopNode (location: (37,5)-(37,15)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── left: │ │ │ @ CallNode (location: (37,5)-(37,8)) │ │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/numbers.txt b/test/prism/snapshots/numbers.txt index 58aea454fa..4512427ef3 100644 --- a/test/prism/snapshots/numbers.txt +++ b/test/prism/snapshots/numbers.txt @@ -1,135 +1,147 @@ @ ProgramNode (location: (1,0)-(67,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(67,5)) + ├── flags: ∅ └── body: (length: 34) ├── @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 0 ├── @ IntegerNode (location: (3,0)-(3,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── @ FloatNode (location: (5,0)-(5,3)) + │ ├── flags: newline, static_literal │ └── value: 1.0 ├── @ IntegerNode (location: (7,0)-(7,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 2 ├── @ IntegerNode (location: (9,0)-(9,3)) - │ ├── flags: binary + │ ├── flags: newline, static_literal, binary │ └── value: 0 ├── @ IntegerNode (location: (11,0)-(11,3)) - │ ├── flags: binary + │ ├── flags: newline, static_literal, binary │ └── value: 1 ├── @ IntegerNode (location: (13,0)-(13,4)) - │ ├── flags: binary + │ ├── flags: newline, static_literal, binary │ └── value: 2 ├── @ IntegerNode (location: (15,0)-(15,3)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 0 ├── @ IntegerNode (location: (17,0)-(17,3)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── @ IntegerNode (location: (19,0)-(19,3)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 2 ├── @ IntegerNode (location: (21,0)-(21,2)) - │ ├── flags: octal + │ ├── flags: newline, static_literal, octal │ └── value: 0 ├── @ IntegerNode (location: (23,0)-(23,2)) - │ ├── flags: octal + │ ├── flags: newline, static_literal, octal │ └── value: 1 ├── @ IntegerNode (location: (25,0)-(25,2)) - │ ├── flags: octal + │ ├── flags: newline, static_literal, octal │ └── value: 2 ├── @ IntegerNode (location: (27,0)-(27,3)) - │ ├── flags: octal + │ ├── flags: newline, static_literal, octal │ └── value: 0 ├── @ IntegerNode (location: (29,0)-(29,3)) - │ ├── flags: octal + │ ├── flags: newline, static_literal, octal │ └── value: 1 ├── @ IntegerNode (location: (31,0)-(31,3)) - │ ├── flags: octal + │ ├── flags: newline, static_literal, octal │ └── value: 2 ├── @ IntegerNode (location: (33,0)-(33,3)) - │ ├── flags: hexadecimal + │ ├── flags: newline, static_literal, hexadecimal │ └── value: 0 ├── @ IntegerNode (location: (35,0)-(35,3)) - │ ├── flags: hexadecimal + │ ├── flags: newline, static_literal, hexadecimal │ └── value: 1 ├── @ IntegerNode (location: (37,0)-(37,3)) - │ ├── flags: hexadecimal + │ ├── flags: newline, static_literal, hexadecimal │ └── value: 2 ├── @ ImaginaryNode (location: (39,0)-(39,2)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ IntegerNode (location: (39,0)-(39,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ RationalNode (location: (41,0)-(41,2)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: 1 │ └── denominator: 1 ├── @ IntegerNode (location: (43,0)-(43,2)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: -1 ├── @ ImaginaryNode (location: (45,0)-(45,3)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ RationalNode (location: (45,0)-(45,2)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ ├── numerator: 1 │ └── denominator: 1 ├── @ RationalNode (location: (47,0)-(47,4)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: 6 │ └── denominator: 5 ├── @ ImaginaryNode (location: (49,0)-(49,5)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ RationalNode (location: (49,0)-(49,4)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ ├── numerator: 6 │ └── denominator: 5 ├── @ ImaginaryNode (location: (51,0)-(51,4)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ RationalNode (location: (51,0)-(51,3)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ ├── numerator: -1 │ └── denominator: 1 ├── @ RationalNode (location: (53,0)-(53,5)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: -6 │ └── denominator: 5 ├── @ ImaginaryNode (location: (55,0)-(55,6)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ RationalNode (location: (55,0)-(55,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ ├── numerator: -6 │ └── denominator: 5 ├── @ RationalNode (location: (57,0)-(57,4)) - │ ├── flags: octal + │ ├── flags: newline, static_literal, octal │ ├── numerator: 1 │ └── denominator: 1 ├── @ ImaginaryNode (location: (59,0)-(59,4)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ IntegerNode (location: (59,0)-(59,3)) - │ ├── flags: octal + │ ├── flags: static_literal, octal │ └── value: 1 ├── @ ImaginaryNode (location: (61,0)-(61,5)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ RationalNode (location: (61,0)-(61,4)) - │ ├── flags: octal + │ ├── flags: static_literal, octal │ ├── numerator: 1 │ └── denominator: 1 ├── @ RationalNode (location: (63,0)-(63,4)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: 1 │ └── denominator: 1 ├── @ ImaginaryNode (location: (65,0)-(65,4)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ IntegerNode (location: (65,0)-(65,3)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 └── @ ImaginaryNode (location: (67,0)-(67,5)) + ├── flags: newline, static_literal └── numeric: @ RationalNode (location: (67,0)-(67,4)) - ├── flags: binary + ├── flags: static_literal, binary ├── numerator: 1 └── denominator: 1 diff --git a/test/prism/snapshots/patterns.txt b/test/prism/snapshots/patterns.txt index 51026972e1..7220934585 100644 --- a/test/prism/snapshots/patterns.txt +++ b/test/prism/snapshots/patterns.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(220,31)) +├── flags: ∅ ├── locals: [:bar, :baz, :qux, :b, :a, :foo, :x, :_a] └── statements: @ StatementsNode (location: (1,0)-(220,31)) + ├── flags: ∅ └── body: (length: 182) ├── @ MatchRequiredNode (location: (1,0)-(1,10)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -17,10 +20,12 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (1,7)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── name: :bar │ │ └── depth: 0 │ └── operator_loc: (1,4)-(1,6) = "=>" ├── @ MatchRequiredNode (location: (2,0)-(2,8)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (2,0)-(2,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -34,10 +39,11 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ IntegerNode (location: (2,7)-(2,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (2,4)-(2,6) = "=>" ├── @ MatchRequiredNode (location: (3,0)-(3,10)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -51,9 +57,11 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ FloatNode (location: (3,7)-(3,10)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ └── operator_loc: (3,4)-(3,6) = "=>" ├── @ MatchRequiredNode (location: (4,0)-(4,9)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (4,0)-(4,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -67,12 +75,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ImaginaryNode (location: (4,7)-(4,9)) + │ │ ├── flags: static_literal │ │ └── numeric: │ │ @ IntegerNode (location: (4,7)-(4,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (4,4)-(4,6) = "=>" ├── @ MatchRequiredNode (location: (5,0)-(5,9)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (5,0)-(5,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -86,11 +96,12 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ RationalNode (location: (5,7)-(5,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ ├── numerator: 1 │ │ └── denominator: 1 │ └── operator_loc: (5,4)-(5,6) = "=>" ├── @ MatchRequiredNode (location: (6,0)-(6,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (6,0)-(6,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -104,13 +115,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (6,7)-(6,11)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (6,7)-(6,8) = ":" │ │ ├── value_loc: (6,8)-(6,11) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── operator_loc: (6,4)-(6,6) = "=>" ├── @ MatchRequiredNode (location: (7,0)-(7,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (7,0)-(7,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -124,13 +136,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (7,7)-(7,14)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (7,7)-(7,10) = "%s[" │ │ ├── value_loc: (7,10)-(7,13) = "foo" │ │ ├── closing_loc: (7,13)-(7,14) = "]" │ │ └── unescaped: "foo" │ └── operator_loc: (7,4)-(7,6) = "=>" ├── @ MatchRequiredNode (location: (8,0)-(8,13)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (8,0)-(8,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -144,13 +157,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (8,7)-(8,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (8,7)-(8,9) = ":\"" │ │ ├── value_loc: (8,9)-(8,12) = "foo" │ │ ├── closing_loc: (8,12)-(8,13) = "\"" │ │ └── unescaped: "foo" │ └── operator_loc: (8,4)-(8,6) = "=>" ├── @ MatchRequiredNode (location: (9,0)-(9,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (9,0)-(9,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -164,13 +178,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ RegularExpressionNode (location: (9,7)-(9,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (9,7)-(9,8) = "/" │ │ ├── content_loc: (9,8)-(9,11) = "foo" │ │ ├── closing_loc: (9,11)-(9,12) = "/" │ │ └── unescaped: "foo" │ └── operator_loc: (9,4)-(9,6) = "=>" ├── @ MatchRequiredNode (location: (10,0)-(10,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (10,0)-(10,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -191,6 +206,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (10,4)-(10,6) = "=>" ├── @ MatchRequiredNode (location: (11,0)-(11,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (11,0)-(11,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -211,6 +227,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (11,4)-(11,6) = "=>" ├── @ MatchRequiredNode (location: (12,0)-(12,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (12,0)-(12,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -224,10 +241,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (12,7)-(12,14)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 1) │ │ │ └── @ SymbolNode (location: (12,10)-(12,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (12,10)-(12,13) = "foo" │ │ │ ├── closing_loc: ∅ @@ -236,6 +253,7 @@ │ │ └── closing_loc: (12,13)-(12,14) = "]" │ └── operator_loc: (12,4)-(12,6) = "=>" ├── @ MatchRequiredNode (location: (13,0)-(13,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (13,0)-(13,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -249,10 +267,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (13,7)-(13,14)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 1) │ │ │ └── @ SymbolNode (location: (13,10)-(13,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (13,10)-(13,13) = "foo" │ │ │ ├── closing_loc: ∅ @@ -261,6 +279,7 @@ │ │ └── closing_loc: (13,13)-(13,14) = "]" │ └── operator_loc: (13,4)-(13,6) = "=>" ├── @ MatchRequiredNode (location: (14,0)-(14,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (14,0)-(14,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -286,6 +305,7 @@ │ │ └── closing_loc: (14,13)-(14,14) = "]" │ └── operator_loc: (14,4)-(14,6) = "=>" ├── @ MatchRequiredNode (location: (15,0)-(15,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (15,0)-(15,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -311,6 +331,7 @@ │ │ └── closing_loc: (15,13)-(15,14) = "]" │ └── operator_loc: (15,4)-(15,6) = "=>" ├── @ MatchRequiredNode (location: (16,0)-(16,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (16,0)-(16,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -331,6 +352,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (16,4)-(16,6) = "=>" ├── @ MatchRequiredNode (location: (17,0)-(17,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (17,0)-(17,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -351,6 +373,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (17,4)-(17,6) = "=>" ├── @ MatchRequiredNode (location: (18,0)-(18,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (18,0)-(18,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -371,6 +394,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (18,4)-(18,6) = "=>" ├── @ MatchRequiredNode (location: (19,0)-(19,10)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (19,0)-(19,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -384,8 +408,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ NilNode (location: (19,7)-(19,10)) + │ │ └── flags: static_literal │ └── operator_loc: (19,4)-(19,6) = "=>" ├── @ MatchRequiredNode (location: (20,0)-(20,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (20,0)-(20,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -399,8 +425,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SelfNode (location: (20,7)-(20,11)) + │ │ └── flags: ∅ │ └── operator_loc: (20,4)-(20,6) = "=>" ├── @ MatchRequiredNode (location: (21,0)-(21,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (21,0)-(21,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -414,8 +442,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ TrueNode (location: (21,7)-(21,11)) + │ │ └── flags: static_literal │ └── operator_loc: (21,4)-(21,6) = "=>" ├── @ MatchRequiredNode (location: (22,0)-(22,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (22,0)-(22,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -429,8 +459,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ FalseNode (location: (22,7)-(22,12)) + │ │ └── flags: static_literal │ └── operator_loc: (22,4)-(22,6) = "=>" ├── @ MatchRequiredNode (location: (23,0)-(23,15)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (23,0)-(23,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -448,6 +480,7 @@ │ │ └── filepath: "patterns.txt" │ └── operator_loc: (23,4)-(23,6) = "=>" ├── @ MatchRequiredNode (location: (24,0)-(24,15)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (24,0)-(24,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -461,8 +494,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceLineNode (location: (24,7)-(24,15)) + │ │ └── flags: static_literal │ └── operator_loc: (24,4)-(24,6) = "=>" ├── @ MatchRequiredNode (location: (25,0)-(25,19)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (25,0)-(25,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -476,8 +511,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceEncodingNode (location: (25,7)-(25,19)) + │ │ └── flags: static_literal │ └── operator_loc: (25,4)-(25,6) = "=>" ├── @ MatchRequiredNode (location: (26,0)-(26,17)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (26,0)-(26,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -491,6 +528,7 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ LambdaNode (location: (26,7)-(26,17)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── operator_loc: (26,7)-(26,9) = "->" │ │ ├── opening_loc: (26,10)-(26,11) = "{" @@ -498,12 +536,15 @@ │ │ ├── parameters: ∅ │ │ └── body: │ │ @ StatementsNode (location: (26,12)-(26,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (26,12)-(26,15)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 1 │ └── operator_loc: (26,4)-(26,6) = "=>" ├── @ MatchRequiredNode (location: (28,0)-(28,13)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (28,0)-(28,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -517,18 +558,19 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (28,7)-(28,13)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (28,7)-(28,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: │ │ │ @ IntegerNode (location: (28,12)-(28,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (28,9)-(28,11) = ".." │ └── operator_loc: (28,4)-(28,6) = "=>" ├── @ MatchRequiredNode (location: (29,0)-(29,17)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (29,0)-(29,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -545,13 +587,16 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ FloatNode (location: (29,7)-(29,10)) + │ │ │ ├── flags: static_literal │ │ │ └── value: 1.0 │ │ ├── right: │ │ │ @ FloatNode (location: (29,14)-(29,17)) + │ │ │ ├── flags: static_literal │ │ │ └── value: 1.0 │ │ └── operator_loc: (29,11)-(29,13) = ".." │ └── operator_loc: (29,4)-(29,6) = "=>" ├── @ MatchRequiredNode (location: (30,0)-(30,15)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (30,0)-(30,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -568,19 +613,22 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ ImaginaryNode (location: (30,7)-(30,9)) + │ │ │ ├── flags: static_literal │ │ │ └── numeric: │ │ │ @ IntegerNode (location: (30,7)-(30,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: │ │ │ @ ImaginaryNode (location: (30,13)-(30,15)) + │ │ │ ├── flags: static_literal │ │ │ └── numeric: │ │ │ @ IntegerNode (location: (30,13)-(30,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (30,10)-(30,12) = ".." │ └── operator_loc: (30,4)-(30,6) = "=>" ├── @ MatchRequiredNode (location: (31,0)-(31,15)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (31,0)-(31,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -597,17 +645,18 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ RationalNode (location: (31,7)-(31,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ ├── numerator: 1 │ │ │ └── denominator: 1 │ │ ├── right: │ │ │ @ RationalNode (location: (31,13)-(31,15)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ ├── numerator: 1 │ │ │ └── denominator: 1 │ │ └── operator_loc: (31,10)-(31,12) = ".." │ └── operator_loc: (31,4)-(31,6) = "=>" ├── @ MatchRequiredNode (location: (32,0)-(32,19)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (32,0)-(32,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -624,14 +673,14 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SymbolNode (location: (32,7)-(32,11)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (32,7)-(32,8) = ":" │ │ │ ├── value_loc: (32,8)-(32,11) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── right: │ │ │ @ SymbolNode (location: (32,15)-(32,19)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (32,15)-(32,16) = ":" │ │ │ ├── value_loc: (32,16)-(32,19) = "foo" │ │ │ ├── closing_loc: ∅ @@ -639,6 +688,7 @@ │ │ └── operator_loc: (32,12)-(32,14) = ".." │ └── operator_loc: (32,4)-(32,6) = "=>" ├── @ MatchRequiredNode (location: (33,0)-(33,25)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (33,0)-(33,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -655,14 +705,14 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SymbolNode (location: (33,7)-(33,14)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (33,7)-(33,10) = "%s[" │ │ │ ├── value_loc: (33,10)-(33,13) = "foo" │ │ │ ├── closing_loc: (33,13)-(33,14) = "]" │ │ │ └── unescaped: "foo" │ │ ├── right: │ │ │ @ SymbolNode (location: (33,18)-(33,25)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (33,18)-(33,21) = "%s[" │ │ │ ├── value_loc: (33,21)-(33,24) = "foo" │ │ │ ├── closing_loc: (33,24)-(33,25) = "]" @@ -670,6 +720,7 @@ │ │ └── operator_loc: (33,15)-(33,17) = ".." │ └── operator_loc: (33,4)-(33,6) = "=>" ├── @ MatchRequiredNode (location: (34,0)-(34,23)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (34,0)-(34,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -686,14 +737,14 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SymbolNode (location: (34,7)-(34,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (34,7)-(34,9) = ":\"" │ │ │ ├── value_loc: (34,9)-(34,12) = "foo" │ │ │ ├── closing_loc: (34,12)-(34,13) = "\"" │ │ │ └── unescaped: "foo" │ │ ├── right: │ │ │ @ SymbolNode (location: (34,17)-(34,23)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (34,17)-(34,19) = ":\"" │ │ │ ├── value_loc: (34,19)-(34,22) = "foo" │ │ │ ├── closing_loc: (34,22)-(34,23) = "\"" @@ -701,6 +752,7 @@ │ │ └── operator_loc: (34,14)-(34,16) = ".." │ └── operator_loc: (34,4)-(34,6) = "=>" ├── @ MatchRequiredNode (location: (35,0)-(35,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (35,0)-(35,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -717,14 +769,14 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ RegularExpressionNode (location: (35,7)-(35,12)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (35,7)-(35,8) = "/" │ │ │ ├── content_loc: (35,8)-(35,11) = "foo" │ │ │ ├── closing_loc: (35,11)-(35,12) = "/" │ │ │ └── unescaped: "foo" │ │ ├── right: │ │ │ @ RegularExpressionNode (location: (35,16)-(35,21)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (35,16)-(35,17) = "/" │ │ │ ├── content_loc: (35,17)-(35,20) = "foo" │ │ │ ├── closing_loc: (35,20)-(35,21) = "/" @@ -732,6 +784,7 @@ │ │ └── operator_loc: (35,13)-(35,15) = ".." │ └── operator_loc: (35,4)-(35,6) = "=>" ├── @ MatchRequiredNode (location: (36,0)-(36,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (36,0)-(36,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -763,6 +816,7 @@ │ │ └── operator_loc: (36,13)-(36,15) = ".." │ └── operator_loc: (36,4)-(36,6) = "=>" ├── @ MatchRequiredNode (location: (37,0)-(37,25)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (37,0)-(37,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -794,6 +848,7 @@ │ │ └── operator_loc: (37,15)-(37,17) = ".." │ └── operator_loc: (37,4)-(37,6) = "=>" ├── @ MatchRequiredNode (location: (38,0)-(38,25)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (38,0)-(38,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -810,10 +865,10 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ ArrayNode (location: (38,7)-(38,14)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (38,10)-(38,13)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (38,10)-(38,13) = "foo" │ │ │ │ ├── closing_loc: ∅ @@ -822,10 +877,10 @@ │ │ │ └── closing_loc: (38,13)-(38,14) = "]" │ │ ├── right: │ │ │ @ ArrayNode (location: (38,18)-(38,25)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (38,21)-(38,24)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (38,21)-(38,24) = "foo" │ │ │ │ ├── closing_loc: ∅ @@ -835,6 +890,7 @@ │ │ └── operator_loc: (38,15)-(38,17) = ".." │ └── operator_loc: (38,4)-(38,6) = "=>" ├── @ MatchRequiredNode (location: (39,0)-(39,25)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (39,0)-(39,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -851,10 +907,10 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ ArrayNode (location: (39,7)-(39,14)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (39,10)-(39,13)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (39,10)-(39,13) = "foo" │ │ │ │ ├── closing_loc: ∅ @@ -863,10 +919,10 @@ │ │ │ └── closing_loc: (39,13)-(39,14) = "]" │ │ ├── right: │ │ │ @ ArrayNode (location: (39,18)-(39,25)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (39,21)-(39,24)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (39,21)-(39,24) = "foo" │ │ │ │ ├── closing_loc: ∅ @@ -876,6 +932,7 @@ │ │ └── operator_loc: (39,15)-(39,17) = ".." │ └── operator_loc: (39,4)-(39,6) = "=>" ├── @ MatchRequiredNode (location: (40,0)-(40,25)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (40,0)-(40,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -917,6 +974,7 @@ │ │ └── operator_loc: (40,15)-(40,17) = ".." │ └── operator_loc: (40,4)-(40,6) = "=>" ├── @ MatchRequiredNode (location: (41,0)-(41,25)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (41,0)-(41,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -958,6 +1016,7 @@ │ │ └── operator_loc: (41,15)-(41,17) = ".." │ └── operator_loc: (41,4)-(41,6) = "=>" ├── @ MatchRequiredNode (location: (42,0)-(42,25)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (42,0)-(42,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -989,6 +1048,7 @@ │ │ └── operator_loc: (42,15)-(42,17) = ".." │ └── operator_loc: (42,4)-(42,6) = "=>" ├── @ MatchRequiredNode (location: (43,0)-(43,25)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (43,0)-(43,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1020,6 +1080,7 @@ │ │ └── operator_loc: (43,15)-(43,17) = ".." │ └── operator_loc: (43,4)-(43,6) = "=>" ├── @ MatchRequiredNode (location: (44,0)-(44,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (44,0)-(44,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1051,6 +1112,7 @@ │ │ └── operator_loc: (44,13)-(44,15) = ".." │ └── operator_loc: (44,4)-(44,6) = "=>" ├── @ MatchRequiredNode (location: (45,0)-(45,17)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (45,0)-(45,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1064,14 +1126,17 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ RangeNode (location: (45,7)-(45,17)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ NilNode (location: (45,7)-(45,10)) + │ │ │ └── flags: static_literal │ │ ├── right: │ │ │ @ NilNode (location: (45,14)-(45,17)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: (45,11)-(45,13) = ".." │ └── operator_loc: (45,4)-(45,6) = "=>" ├── @ MatchRequiredNode (location: (46,0)-(46,19)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (46,0)-(46,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1088,11 +1153,14 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SelfNode (location: (46,7)-(46,11)) + │ │ │ └── flags: ∅ │ │ ├── right: │ │ │ @ SelfNode (location: (46,15)-(46,19)) + │ │ │ └── flags: ∅ │ │ └── operator_loc: (46,12)-(46,14) = ".." │ └── operator_loc: (46,4)-(46,6) = "=>" ├── @ MatchRequiredNode (location: (47,0)-(47,19)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (47,0)-(47,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1109,11 +1177,14 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ TrueNode (location: (47,7)-(47,11)) + │ │ │ └── flags: static_literal │ │ ├── right: │ │ │ @ TrueNode (location: (47,15)-(47,19)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: (47,12)-(47,14) = ".." │ └── operator_loc: (47,4)-(47,6) = "=>" ├── @ MatchRequiredNode (location: (48,0)-(48,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (48,0)-(48,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1130,11 +1201,14 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ FalseNode (location: (48,7)-(48,12)) + │ │ │ └── flags: static_literal │ │ ├── right: │ │ │ @ FalseNode (location: (48,16)-(48,21)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: (48,13)-(48,15) = ".." │ └── operator_loc: (48,4)-(48,6) = "=>" ├── @ MatchRequiredNode (location: (49,0)-(49,27)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (49,0)-(49,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1160,6 +1234,7 @@ │ │ └── operator_loc: (49,16)-(49,18) = ".." │ └── operator_loc: (49,4)-(49,6) = "=>" ├── @ MatchRequiredNode (location: (50,0)-(50,27)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (50,0)-(50,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1176,11 +1251,14 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SourceLineNode (location: (50,7)-(50,15)) + │ │ │ └── flags: static_literal │ │ ├── right: │ │ │ @ SourceLineNode (location: (50,19)-(50,27)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: (50,16)-(50,18) = ".." │ └── operator_loc: (50,4)-(50,6) = "=>" ├── @ MatchRequiredNode (location: (51,0)-(51,35)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (51,0)-(51,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1197,11 +1275,14 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ SourceEncodingNode (location: (51,7)-(51,19)) + │ │ │ └── flags: static_literal │ │ ├── right: │ │ │ @ SourceEncodingNode (location: (51,23)-(51,35)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: (51,20)-(51,22) = ".." │ └── operator_loc: (51,4)-(51,6) = "=>" ├── @ MatchRequiredNode (location: (52,0)-(52,31)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (52,0)-(52,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1218,6 +1299,7 @@ │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ LambdaNode (location: (52,7)-(52,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── operator_loc: (52,7)-(52,9) = "->" │ │ │ ├── opening_loc: (52,10)-(52,11) = "{" @@ -1225,12 +1307,15 @@ │ │ │ ├── parameters: ∅ │ │ │ └── body: │ │ │ @ StatementsNode (location: (52,12)-(52,15)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (52,12)-(52,15)) + │ │ │ ├── flags: newline │ │ │ ├── name: :bar │ │ │ └── depth: 1 │ │ ├── right: │ │ │ @ LambdaNode (location: (52,21)-(52,31)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── operator_loc: (52,21)-(52,23) = "->" │ │ │ ├── opening_loc: (52,24)-(52,25) = "{" @@ -1238,22 +1323,26 @@ │ │ │ ├── parameters: ∅ │ │ │ └── body: │ │ │ @ StatementsNode (location: (52,26)-(52,29)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (52,26)-(52,29)) + │ │ │ ├── flags: newline │ │ │ ├── name: :bar │ │ │ └── depth: 1 │ │ └── operator_loc: (52,18)-(52,20) = ".." │ └── operator_loc: (52,4)-(52,6) = "=>" ├── @ LocalVariableWriteNode (location: (54,0)-(54,7)) + │ ├── flags: newline │ ├── name: :bar │ ├── depth: 0 │ ├── name_loc: (54,0)-(54,3) = "bar" │ ├── value: │ │ @ IntegerNode (location: (54,6)-(54,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (54,4)-(54,5) = "=" ├── @ MatchRequiredNode (location: (54,9)-(54,20)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (54,9)-(54,12)) │ │ ├── flags: variable_call, ignore_visibility @@ -1267,13 +1356,16 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedVariableNode (location: (54,16)-(54,20)) + │ │ ├── flags: ∅ │ │ ├── variable: │ │ │ @ LocalVariableReadNode (location: (54,17)-(54,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ └── operator_loc: (54,16)-(54,17) = "^" │ └── operator_loc: (54,13)-(54,15) = "=>" ├── @ MatchRequiredNode (location: (55,0)-(55,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (55,0)-(55,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1287,12 +1379,15 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedVariableNode (location: (55,7)-(55,12)) + │ │ ├── flags: ∅ │ │ ├── variable: │ │ │ @ InstanceVariableReadNode (location: (55,8)-(55,12)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@bar │ │ └── operator_loc: (55,7)-(55,8) = "^" │ └── operator_loc: (55,4)-(55,6) = "=>" ├── @ MatchRequiredNode (location: (56,0)-(56,13)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (56,0)-(56,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1306,12 +1401,15 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedVariableNode (location: (56,7)-(56,13)) + │ │ ├── flags: ∅ │ │ ├── variable: │ │ │ @ ClassVariableReadNode (location: (56,8)-(56,13)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@@bar │ │ └── operator_loc: (56,7)-(56,8) = "^" │ └── operator_loc: (56,4)-(56,6) = "=>" ├── @ MatchRequiredNode (location: (57,0)-(57,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (57,0)-(57,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1325,12 +1423,15 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedVariableNode (location: (57,7)-(57,12)) + │ │ ├── flags: ∅ │ │ ├── variable: │ │ │ @ GlobalVariableReadNode (location: (57,8)-(57,12)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :$bar │ │ └── operator_loc: (57,7)-(57,8) = "^" │ └── operator_loc: (57,4)-(57,6) = "=>" ├── @ MatchRequiredNode (location: (59,0)-(59,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (59,0)-(59,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1344,15 +1445,17 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedExpressionNode (location: (59,7)-(59,11)) + │ │ ├── flags: ∅ │ │ ├── expression: │ │ │ @ IntegerNode (location: (59,9)-(59,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── operator_loc: (59,7)-(59,8) = "^" │ │ ├── lparen_loc: (59,8)-(59,9) = "(" │ │ └── rparen_loc: (59,10)-(59,11) = ")" │ └── operator_loc: (59,4)-(59,6) = "=>" ├── @ MatchRequiredNode (location: (60,0)-(60,13)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (60,0)-(60,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1366,13 +1469,16 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedExpressionNode (location: (60,7)-(60,13)) + │ │ ├── flags: ∅ │ │ ├── expression: │ │ │ @ NilNode (location: (60,9)-(60,12)) + │ │ │ └── flags: static_literal │ │ ├── operator_loc: (60,7)-(60,8) = "^" │ │ ├── lparen_loc: (60,8)-(60,9) = "(" │ │ └── rparen_loc: (60,12)-(60,13) = ")" │ └── operator_loc: (60,4)-(60,6) = "=>" ├── @ MatchRequiredNode (location: (61,0)-(61,23)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (61,0)-(61,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1386,6 +1492,7 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ PinnedExpressionNode (location: (61,7)-(61,23)) + │ │ ├── flags: ∅ │ │ ├── expression: │ │ │ @ CallNode (location: (61,9)-(61,22)) │ │ │ ├── flags: ∅ @@ -1417,6 +1524,7 @@ │ │ └── rparen_loc: (61,22)-(61,23) = ")" │ └── operator_loc: (61,4)-(61,6) = "=>" ├── @ MatchRequiredNode (location: (63,0)-(63,10)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (63,0)-(63,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1430,9 +1538,11 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ConstantReadNode (location: (63,7)-(63,10)) + │ │ ├── flags: ∅ │ │ └── name: :Foo │ └── operator_loc: (63,4)-(63,6) = "=>" ├── @ MatchRequiredNode (location: (64,0)-(64,20)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (64,0)-(64,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1446,10 +1556,13 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ConstantPathNode (location: (64,7)-(64,20)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantPathNode (location: (64,7)-(64,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantReadNode (location: (64,7)-(64,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Foo │ │ │ ├── name: :Bar │ │ │ ├── delimiter_loc: (64,10)-(64,12) = "::" @@ -1459,6 +1572,7 @@ │ │ └── name_loc: (64,17)-(64,20) = "Baz" │ └── operator_loc: (64,4)-(64,6) = "=>" ├── @ MatchRequiredNode (location: (65,0)-(65,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (65,0)-(65,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1472,12 +1586,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ConstantPathNode (location: (65,7)-(65,12)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :Foo │ │ ├── delimiter_loc: (65,7)-(65,9) = "::" │ │ └── name_loc: (65,9)-(65,12) = "Foo" │ └── operator_loc: (65,4)-(65,6) = "=>" ├── @ MatchRequiredNode (location: (66,0)-(66,22)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (66,0)-(66,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1491,10 +1607,13 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ConstantPathNode (location: (66,7)-(66,22)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantPathNode (location: (66,7)-(66,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantPathNode (location: (66,7)-(66,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── parent: ∅ │ │ │ │ ├── name: :Foo │ │ │ │ ├── delimiter_loc: (66,7)-(66,9) = "::" @@ -1507,6 +1626,7 @@ │ │ └── name_loc: (66,19)-(66,22) = "Baz" │ └── operator_loc: (66,4)-(66,6) = "=>" ├── @ MatchRequiredNode (location: (68,0)-(68,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (68,0)-(68,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1520,8 +1640,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (68,7)-(68,12)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (68,7)-(68,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 0) │ │ ├── rest: ∅ @@ -1530,6 +1652,7 @@ │ │ └── closing_loc: (68,11)-(68,12) = ")" │ └── operator_loc: (68,4)-(68,6) = "=>" ├── @ MatchRequiredNode (location: (69,0)-(69,13)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (69,0)-(69,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1543,12 +1666,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (69,7)-(69,13)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (69,7)-(69,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 1) │ │ │ └── @ IntegerNode (location: (69,11)-(69,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -1556,6 +1681,7 @@ │ │ └── closing_loc: (69,12)-(69,13) = ")" │ └── operator_loc: (69,4)-(69,6) = "=>" ├── @ MatchRequiredNode (location: (70,0)-(70,19)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (70,0)-(70,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1569,18 +1695,20 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (70,7)-(70,19)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (70,7)-(70,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 3) │ │ │ ├── @ IntegerNode (location: (70,11)-(70,12)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── @ IntegerNode (location: (70,14)-(70,15)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ IntegerNode (location: (70,17)-(70,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -1588,6 +1716,7 @@ │ │ └── closing_loc: (70,18)-(70,19) = ")" │ └── operator_loc: (70,4)-(70,6) = "=>" ├── @ MatchRequiredNode (location: (71,0)-(71,15)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (71,0)-(71,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1601,11 +1730,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (71,7)-(71,15)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (71,7)-(71,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (71,11)-(71,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -1614,6 +1746,7 @@ │ │ └── closing_loc: (71,14)-(71,15) = ")" │ └── operator_loc: (71,4)-(71,6) = "=>" ├── @ MatchRequiredNode (location: (72,0)-(72,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (72,0)-(72,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1627,25 +1760,31 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (72,7)-(72,21)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (72,7)-(72,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (72,11)-(72,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (72,11)-(72,12) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (72,12)-(72,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── posts: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (72,17)-(72,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── opening_loc: (72,10)-(72,11) = "(" │ │ └── closing_loc: (72,20)-(72,21) = ")" │ └── operator_loc: (72,4)-(72,6) = "=>" ├── @ MatchRequiredNode (location: (73,0)-(73,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (73,0)-(73,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1659,18 +1798,23 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (73,7)-(73,21)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (73,7)-(73,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (73,11)-(73,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ SplatNode (location: (73,16)-(73,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (73,16)-(73,17) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (73,17)-(73,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── posts: (length: 0) @@ -1678,6 +1822,7 @@ │ │ └── closing_loc: (73,20)-(73,21) = ")" │ └── operator_loc: (73,4)-(73,6) = "=>" ├── @ MatchRequiredNode (location: (74,0)-(74,27)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (74,0)-(74,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1691,31 +1836,39 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (74,7)-(74,27)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (74,7)-(74,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── left: │ │ │ @ SplatNode (location: (74,11)-(74,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (74,11)-(74,12) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (74,12)-(74,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (74,17)-(74,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── right: │ │ │ @ SplatNode (location: (74,22)-(74,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (74,22)-(74,23) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (74,23)-(74,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── opening_loc: (74,10)-(74,11) = "(" │ │ └── closing_loc: (74,26)-(74,27) = ")" │ └── operator_loc: (74,4)-(74,6) = "=>" ├── @ MatchRequiredNode (location: (76,0)-(76,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (76,0)-(76,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1729,8 +1882,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (76,7)-(76,12)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (76,7)-(76,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 0) │ │ ├── rest: ∅ @@ -1739,6 +1894,7 @@ │ │ └── closing_loc: (76,11)-(76,12) = "]" │ └── operator_loc: (76,4)-(76,6) = "=>" ├── @ MatchRequiredNode (location: (77,0)-(77,13)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (77,0)-(77,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1752,12 +1908,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (77,7)-(77,13)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (77,7)-(77,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 1) │ │ │ └── @ IntegerNode (location: (77,11)-(77,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -1765,6 +1923,7 @@ │ │ └── closing_loc: (77,12)-(77,13) = "]" │ └── operator_loc: (77,4)-(77,6) = "=>" ├── @ MatchRequiredNode (location: (78,0)-(78,19)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (78,0)-(78,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1778,18 +1937,20 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (78,7)-(78,19)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (78,7)-(78,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 3) │ │ │ ├── @ IntegerNode (location: (78,11)-(78,12)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── @ IntegerNode (location: (78,14)-(78,15)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ IntegerNode (location: (78,17)-(78,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -1797,6 +1958,7 @@ │ │ └── closing_loc: (78,18)-(78,19) = "]" │ └── operator_loc: (78,4)-(78,6) = "=>" ├── @ MatchRequiredNode (location: (79,0)-(79,17)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (79,0)-(79,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1810,13 +1972,17 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (79,7)-(79,17)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (79,7)-(79,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 1) │ │ │ └── @ ArrayPatternNode (location: (79,11)-(79,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: │ │ │ │ @ ConstantReadNode (location: (79,11)-(79,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Foo │ │ │ ├── requireds: (length: 0) │ │ │ ├── rest: ∅ @@ -1829,6 +1995,7 @@ │ │ └── closing_loc: (79,16)-(79,17) = "]" │ └── operator_loc: (79,4)-(79,6) = "=>" ├── @ MatchRequiredNode (location: (80,0)-(80,15)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (80,0)-(80,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1842,11 +2009,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (80,7)-(80,15)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (80,7)-(80,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (80,11)-(80,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -1855,6 +2025,7 @@ │ │ └── closing_loc: (80,14)-(80,15) = "]" │ └── operator_loc: (80,4)-(80,6) = "=>" ├── @ MatchRequiredNode (location: (81,0)-(81,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (81,0)-(81,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1868,25 +2039,31 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (81,7)-(81,21)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (81,7)-(81,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (81,11)-(81,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (81,11)-(81,12) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (81,12)-(81,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── posts: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (81,17)-(81,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── opening_loc: (81,10)-(81,11) = "[" │ │ └── closing_loc: (81,20)-(81,21) = "]" │ └── operator_loc: (81,4)-(81,6) = "=>" ├── @ MatchRequiredNode (location: (82,0)-(82,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (82,0)-(82,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1900,18 +2077,23 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (82,7)-(82,21)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (82,7)-(82,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (82,11)-(82,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ SplatNode (location: (82,16)-(82,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (82,16)-(82,17) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (82,17)-(82,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── posts: (length: 0) @@ -1919,6 +2101,7 @@ │ │ └── closing_loc: (82,20)-(82,21) = "]" │ └── operator_loc: (82,4)-(82,6) = "=>" ├── @ MatchRequiredNode (location: (83,0)-(83,27)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (83,0)-(83,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1932,31 +2115,39 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (83,7)-(83,27)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (83,7)-(83,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Foo │ │ ├── left: │ │ │ @ SplatNode (location: (83,11)-(83,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (83,11)-(83,12) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (83,12)-(83,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (83,17)-(83,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── right: │ │ │ @ SplatNode (location: (83,22)-(83,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (83,22)-(83,23) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (83,23)-(83,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── opening_loc: (83,10)-(83,11) = "[" │ │ └── closing_loc: (83,26)-(83,27) = "]" │ └── operator_loc: (83,4)-(83,6) = "=>" ├── @ MatchRequiredNode (location: (85,0)-(85,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (85,0)-(85,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1970,13 +2161,16 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (85,7)-(85,11)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (85,7)-(85,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (85,7)-(85,8) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (85,8)-(85,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── posts: (length: 0) @@ -1984,6 +2178,7 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (85,4)-(85,6) = "=>" ├── @ MatchRequiredNode (location: (86,0)-(86,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (86,0)-(86,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1997,26 +2192,32 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (86,7)-(86,21)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (86,7)-(86,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (86,7)-(86,8) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (86,8)-(86,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── posts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (86,13)-(86,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (86,18)-(86,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (86,4)-(86,6) = "=>" ├── @ MatchRequiredNode (location: (87,0)-(87,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (87,0)-(87,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2030,26 +2231,32 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (87,7)-(87,21)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (87,7)-(87,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ SplatNode (location: (87,12)-(87,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (87,12)-(87,13) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (87,13)-(87,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── posts: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (87,18)-(87,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (87,4)-(87,6) = "=>" ├── @ MatchRequiredNode (location: (88,0)-(88,21)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (88,0)-(88,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2063,19 +2270,24 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (88,7)-(88,21)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (88,7)-(88,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :bar │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (88,12)-(88,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ SplatNode (location: (88,17)-(88,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (88,17)-(88,18) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (88,18)-(88,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── posts: (length: 0) @@ -2083,6 +2295,7 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (88,4)-(88,6) = "=>" ├── @ MatchRequiredNode (location: (89,0)-(89,22)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (89,0)-(89,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2096,29 +2309,36 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (89,7)-(89,22)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── left: │ │ │ @ SplatNode (location: (89,7)-(89,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (89,7)-(89,8) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (89,8)-(89,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (89,13)-(89,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── right: │ │ │ @ SplatNode (location: (89,18)-(89,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (89,18)-(89,19) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (89,19)-(89,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (89,4)-(89,6) = "=>" ├── @ MatchRequiredNode (location: (91,0)-(91,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (91,0)-(91,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2132,18 +2352,22 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (91,7)-(91,11)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (91,7)-(91,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ ImplicitRestNode (location: (91,10)-(91,11)) + │ │ │ └── flags: ∅ │ │ ├── posts: (length: 0) │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (91,4)-(91,6) = "=>" ├── @ MatchRequiredNode (location: (95,0)-(95,9)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (95,0)-(95,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2157,6 +2381,7 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (95,7)-(95,9)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 0) │ │ ├── rest: ∅ @@ -2165,6 +2390,7 @@ │ │ └── closing_loc: (95,8)-(95,9) = "]" │ └── operator_loc: (95,4)-(95,6) = "=>" ├── @ MatchRequiredNode (location: (96,0)-(96,17)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (96,0)-(96,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2178,18 +2404,23 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (96,7)-(96,17)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ ArrayPatternNode (location: (96,8)-(96,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ ArrayPatternNode (location: (96,9)-(96,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ ArrayPatternNode (location: (96,10)-(96,14)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── constant: ∅ │ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ │ └── @ ArrayPatternNode (location: (96,11)-(96,13)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── constant: ∅ │ │ │ │ │ │ ├── requireds: (length: 0) │ │ │ │ │ │ ├── rest: ∅ @@ -2214,6 +2445,7 @@ │ │ └── closing_loc: (96,16)-(96,17) = "]" │ └── operator_loc: (96,4)-(96,6) = "=>" ├── @ MatchRequiredNode (location: (98,0)-(98,13)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (98,0)-(98,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2227,13 +2459,16 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (98,7)-(98,13)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (98,8)-(98,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (98,8)-(98,9) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (98,9)-(98,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── posts: (length: 0) @@ -2241,6 +2476,7 @@ │ │ └── closing_loc: (98,12)-(98,13) = "]" │ └── operator_loc: (98,4)-(98,6) = "=>" ├── @ MatchRequiredNode (location: (99,0)-(99,23)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (99,0)-(99,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2254,26 +2490,32 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (99,7)-(99,23)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (99,8)-(99,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (99,8)-(99,9) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (99,9)-(99,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── posts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (99,14)-(99,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (99,19)-(99,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── opening_loc: (99,7)-(99,8) = "[" │ │ └── closing_loc: (99,22)-(99,23) = "]" │ └── operator_loc: (99,4)-(99,6) = "=>" ├── @ MatchRequiredNode (location: (100,0)-(100,23)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (100,0)-(100,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2287,26 +2529,32 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (100,7)-(100,23)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (100,8)-(100,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ SplatNode (location: (100,13)-(100,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (100,13)-(100,14) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (100,14)-(100,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── posts: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (100,19)-(100,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── opening_loc: (100,7)-(100,8) = "[" │ │ └── closing_loc: (100,22)-(100,23) = "]" │ └── operator_loc: (100,4)-(100,6) = "=>" ├── @ MatchRequiredNode (location: (101,0)-(101,23)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (101,0)-(101,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2320,19 +2568,24 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (101,7)-(101,23)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (101,8)-(101,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :bar │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (101,13)-(101,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ SplatNode (location: (101,18)-(101,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (101,18)-(101,19) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (101,19)-(101,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── posts: (length: 0) @@ -2340,6 +2593,7 @@ │ │ └── closing_loc: (101,22)-(101,23) = "]" │ └── operator_loc: (101,4)-(101,6) = "=>" ├── @ MatchRequiredNode (location: (102,0)-(102,24)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (102,0)-(102,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2353,29 +2607,36 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (102,7)-(102,24)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── left: │ │ │ @ SplatNode (location: (102,8)-(102,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (102,8)-(102,9) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (102,9)-(102,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (102,14)-(102,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── right: │ │ │ @ SplatNode (location: (102,19)-(102,23)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (102,19)-(102,20) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (102,20)-(102,23)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :qux │ │ │ └── depth: 0 │ │ ├── opening_loc: (102,7)-(102,8) = "[" │ │ └── closing_loc: (102,23)-(102,24) = "]" │ └── operator_loc: (102,4)-(102,6) = "=>" ├── @ MatchPredicateNode (location: (104,0)-(104,10)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (104,0)-(104,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2389,10 +2650,12 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (104,7)-(104,10)) + │ │ ├── flags: ∅ │ │ ├── name: :bar │ │ └── depth: 0 │ └── operator_loc: (104,4)-(104,6) = "in" ├── @ MatchPredicateNode (location: (105,0)-(105,8)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (105,0)-(105,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2406,10 +2669,11 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ IntegerNode (location: (105,7)-(105,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (105,4)-(105,6) = "in" ├── @ MatchPredicateNode (location: (106,0)-(106,10)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (106,0)-(106,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2423,9 +2687,11 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ FloatNode (location: (106,7)-(106,10)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ └── operator_loc: (106,4)-(106,6) = "in" ├── @ MatchPredicateNode (location: (107,0)-(107,9)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (107,0)-(107,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2439,12 +2705,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ImaginaryNode (location: (107,7)-(107,9)) + │ │ ├── flags: static_literal │ │ └── numeric: │ │ @ IntegerNode (location: (107,7)-(107,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (107,4)-(107,6) = "in" ├── @ MatchPredicateNode (location: (108,0)-(108,9)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (108,0)-(108,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2458,11 +2726,12 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ RationalNode (location: (108,7)-(108,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ ├── numerator: 1 │ │ └── denominator: 1 │ └── operator_loc: (108,4)-(108,6) = "in" ├── @ MatchPredicateNode (location: (109,0)-(109,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (109,0)-(109,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2476,13 +2745,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (109,7)-(109,11)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (109,7)-(109,8) = ":" │ │ ├── value_loc: (109,8)-(109,11) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── operator_loc: (109,4)-(109,6) = "in" ├── @ MatchPredicateNode (location: (110,0)-(110,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (110,0)-(110,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2496,13 +2766,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (110,7)-(110,14)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (110,7)-(110,10) = "%s[" │ │ ├── value_loc: (110,10)-(110,13) = "foo" │ │ ├── closing_loc: (110,13)-(110,14) = "]" │ │ └── unescaped: "foo" │ └── operator_loc: (110,4)-(110,6) = "in" ├── @ MatchPredicateNode (location: (111,0)-(111,13)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (111,0)-(111,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2516,13 +2787,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SymbolNode (location: (111,7)-(111,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (111,7)-(111,9) = ":\"" │ │ ├── value_loc: (111,9)-(111,12) = "foo" │ │ ├── closing_loc: (111,12)-(111,13) = "\"" │ │ └── unescaped: "foo" │ └── operator_loc: (111,4)-(111,6) = "in" ├── @ MatchPredicateNode (location: (112,0)-(112,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (112,0)-(112,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2536,13 +2808,14 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ RegularExpressionNode (location: (112,7)-(112,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (112,7)-(112,8) = "/" │ │ ├── content_loc: (112,8)-(112,11) = "foo" │ │ ├── closing_loc: (112,11)-(112,12) = "/" │ │ └── unescaped: "foo" │ └── operator_loc: (112,4)-(112,6) = "in" ├── @ MatchPredicateNode (location: (113,0)-(113,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (113,0)-(113,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2563,6 +2836,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (113,4)-(113,6) = "in" ├── @ MatchPredicateNode (location: (114,0)-(114,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (114,0)-(114,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2583,6 +2857,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (114,4)-(114,6) = "in" ├── @ MatchPredicateNode (location: (115,0)-(115,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (115,0)-(115,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2596,10 +2871,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (115,7)-(115,14)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 1) │ │ │ └── @ SymbolNode (location: (115,10)-(115,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (115,10)-(115,13) = "foo" │ │ │ ├── closing_loc: ∅ @@ -2608,6 +2883,7 @@ │ │ └── closing_loc: (115,13)-(115,14) = "]" │ └── operator_loc: (115,4)-(115,6) = "in" ├── @ MatchPredicateNode (location: (116,0)-(116,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (116,0)-(116,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2621,10 +2897,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayNode (location: (116,7)-(116,14)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 1) │ │ │ └── @ SymbolNode (location: (116,10)-(116,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (116,10)-(116,13) = "foo" │ │ │ ├── closing_loc: ∅ @@ -2633,6 +2909,7 @@ │ │ └── closing_loc: (116,13)-(116,14) = "]" │ └── operator_loc: (116,4)-(116,6) = "in" ├── @ MatchPredicateNode (location: (117,0)-(117,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (117,0)-(117,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2658,6 +2935,7 @@ │ │ └── closing_loc: (117,13)-(117,14) = "]" │ └── operator_loc: (117,4)-(117,6) = "in" ├── @ MatchPredicateNode (location: (118,0)-(118,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (118,0)-(118,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2683,6 +2961,7 @@ │ │ └── closing_loc: (118,13)-(118,14) = "]" │ └── operator_loc: (118,4)-(118,6) = "in" ├── @ MatchPredicateNode (location: (119,0)-(119,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (119,0)-(119,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2703,6 +2982,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (119,4)-(119,6) = "in" ├── @ MatchPredicateNode (location: (120,0)-(120,14)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (120,0)-(120,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2723,6 +3003,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (120,4)-(120,6) = "in" ├── @ MatchPredicateNode (location: (121,0)-(121,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (121,0)-(121,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2743,6 +3024,7 @@ │ │ └── unescaped: "foo" │ └── operator_loc: (121,4)-(121,6) = "in" ├── @ MatchPredicateNode (location: (122,0)-(122,10)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (122,0)-(122,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2756,8 +3038,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ NilNode (location: (122,7)-(122,10)) + │ │ └── flags: static_literal │ └── operator_loc: (122,4)-(122,6) = "in" ├── @ MatchPredicateNode (location: (123,0)-(123,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (123,0)-(123,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2771,8 +3055,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SelfNode (location: (123,7)-(123,11)) + │ │ └── flags: ∅ │ └── operator_loc: (123,4)-(123,6) = "in" ├── @ MatchPredicateNode (location: (124,0)-(124,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (124,0)-(124,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2786,8 +3072,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ TrueNode (location: (124,7)-(124,11)) + │ │ └── flags: static_literal │ └── operator_loc: (124,4)-(124,6) = "in" ├── @ MatchPredicateNode (location: (125,0)-(125,12)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (125,0)-(125,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2801,8 +3089,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ FalseNode (location: (125,7)-(125,12)) + │ │ └── flags: static_literal │ └── operator_loc: (125,4)-(125,6) = "in" ├── @ MatchPredicateNode (location: (126,0)-(126,15)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (126,0)-(126,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2820,6 +3110,7 @@ │ │ └── filepath: "patterns.txt" │ └── operator_loc: (126,4)-(126,6) = "in" ├── @ MatchPredicateNode (location: (127,0)-(127,15)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (127,0)-(127,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2833,8 +3124,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceLineNode (location: (127,7)-(127,15)) + │ │ └── flags: static_literal │ └── operator_loc: (127,4)-(127,6) = "in" ├── @ MatchPredicateNode (location: (128,0)-(128,19)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (128,0)-(128,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2848,8 +3141,10 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ SourceEncodingNode (location: (128,7)-(128,19)) + │ │ └── flags: static_literal │ └── operator_loc: (128,4)-(128,6) = "in" ├── @ MatchPredicateNode (location: (129,0)-(129,17)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (129,0)-(129,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2863,6 +3158,7 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ LambdaNode (location: (129,7)-(129,17)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── operator_loc: (129,7)-(129,9) = "->" │ │ ├── opening_loc: (129,10)-(129,11) = "{" @@ -2870,12 +3166,15 @@ │ │ ├── parameters: ∅ │ │ └── body: │ │ @ StatementsNode (location: (129,12)-(129,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (129,12)-(129,15)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 1 │ └── operator_loc: (129,4)-(129,6) = "in" ├── @ MatchPredicateNode (location: (131,0)-(131,11)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (131,0)-(131,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2889,18 +3188,22 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (131,7)-(131,11)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (131,7)-(131,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ ImplicitRestNode (location: (131,10)-(131,11)) + │ │ │ └── flags: ∅ │ │ ├── posts: (length: 0) │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (131,4)-(131,6) = "in" ├── @ CaseMatchNode (location: (135,0)-(135,25)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (135,5)-(135,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -2914,8 +3217,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (135,10)-(135,21)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ LocalVariableTargetNode (location: (135,13)-(135,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── statements: ∅ @@ -2925,6 +3230,7 @@ │ ├── case_keyword_loc: (135,0)-(135,4) = "case" │ └── end_keyword_loc: (135,22)-(135,25) = "end" ├── @ CaseMatchNode (location: (136,0)-(136,23)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (136,5)-(136,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -2938,9 +3244,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (136,10)-(136,19)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IntegerNode (location: (136,13)-(136,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── statements: ∅ │ │ ├── in_loc: (136,10)-(136,12) = "in" @@ -2949,6 +3256,7 @@ │ ├── case_keyword_loc: (136,0)-(136,4) = "case" │ └── end_keyword_loc: (136,20)-(136,23) = "end" ├── @ CaseMatchNode (location: (137,0)-(137,25)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (137,5)-(137,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -2962,8 +3270,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (137,10)-(137,21)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ FloatNode (location: (137,13)-(137,16)) + │ │ │ ├── flags: static_literal │ │ │ └── value: 1.0 │ │ ├── statements: ∅ │ │ ├── in_loc: (137,10)-(137,12) = "in" @@ -2972,6 +3282,7 @@ │ ├── case_keyword_loc: (137,0)-(137,4) = "case" │ └── end_keyword_loc: (137,22)-(137,25) = "end" ├── @ CaseMatchNode (location: (138,0)-(138,24)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (138,5)-(138,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -2985,11 +3296,13 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (138,10)-(138,20)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ImaginaryNode (location: (138,13)-(138,15)) + │ │ │ ├── flags: static_literal │ │ │ └── numeric: │ │ │ @ IntegerNode (location: (138,13)-(138,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── statements: ∅ │ │ ├── in_loc: (138,10)-(138,12) = "in" @@ -2998,6 +3311,7 @@ │ ├── case_keyword_loc: (138,0)-(138,4) = "case" │ └── end_keyword_loc: (138,21)-(138,24) = "end" ├── @ CaseMatchNode (location: (139,0)-(139,24)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (139,5)-(139,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3011,9 +3325,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (139,10)-(139,20)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ RationalNode (location: (139,13)-(139,15)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ ├── numerator: 1 │ │ │ └── denominator: 1 │ │ ├── statements: ∅ @@ -3023,6 +3338,7 @@ │ ├── case_keyword_loc: (139,0)-(139,4) = "case" │ └── end_keyword_loc: (139,21)-(139,24) = "end" ├── @ CaseMatchNode (location: (140,0)-(140,26)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (140,5)-(140,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3036,9 +3352,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (140,10)-(140,22)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ SymbolNode (location: (140,13)-(140,17)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (140,13)-(140,14) = ":" │ │ │ ├── value_loc: (140,14)-(140,17) = "foo" │ │ │ ├── closing_loc: ∅ @@ -3050,6 +3367,7 @@ │ ├── case_keyword_loc: (140,0)-(140,4) = "case" │ └── end_keyword_loc: (140,23)-(140,26) = "end" ├── @ CaseMatchNode (location: (141,0)-(141,29)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (141,5)-(141,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3063,9 +3381,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (141,10)-(141,25)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ SymbolNode (location: (141,13)-(141,20)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (141,13)-(141,16) = "%s[" │ │ │ ├── value_loc: (141,16)-(141,19) = "foo" │ │ │ ├── closing_loc: (141,19)-(141,20) = "]" @@ -3077,6 +3396,7 @@ │ ├── case_keyword_loc: (141,0)-(141,4) = "case" │ └── end_keyword_loc: (141,26)-(141,29) = "end" ├── @ CaseMatchNode (location: (142,0)-(142,28)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (142,5)-(142,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3090,9 +3410,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (142,10)-(142,24)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ SymbolNode (location: (142,13)-(142,19)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (142,13)-(142,15) = ":\"" │ │ │ ├── value_loc: (142,15)-(142,18) = "foo" │ │ │ ├── closing_loc: (142,18)-(142,19) = "\"" @@ -3104,6 +3425,7 @@ │ ├── case_keyword_loc: (142,0)-(142,4) = "case" │ └── end_keyword_loc: (142,25)-(142,28) = "end" ├── @ CaseMatchNode (location: (143,0)-(143,27)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (143,5)-(143,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3117,9 +3439,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (143,10)-(143,23)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ RegularExpressionNode (location: (143,13)-(143,18)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (143,13)-(143,14) = "/" │ │ │ ├── content_loc: (143,14)-(143,17) = "foo" │ │ │ ├── closing_loc: (143,17)-(143,18) = "/" @@ -3131,6 +3454,7 @@ │ ├── case_keyword_loc: (143,0)-(143,4) = "case" │ └── end_keyword_loc: (143,24)-(143,27) = "end" ├── @ CaseMatchNode (location: (144,0)-(144,27)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (144,5)-(144,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3144,6 +3468,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (144,10)-(144,23)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ XStringNode (location: (144,13)-(144,18)) │ │ │ ├── flags: ∅ @@ -3158,6 +3483,7 @@ │ ├── case_keyword_loc: (144,0)-(144,4) = "case" │ └── end_keyword_loc: (144,24)-(144,27) = "end" ├── @ CaseMatchNode (location: (145,0)-(145,29)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (145,5)-(145,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3171,6 +3497,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (145,10)-(145,25)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ XStringNode (location: (145,13)-(145,20)) │ │ │ ├── flags: ∅ @@ -3185,6 +3512,7 @@ │ ├── case_keyword_loc: (145,0)-(145,4) = "case" │ └── end_keyword_loc: (145,26)-(145,29) = "end" ├── @ CaseMatchNode (location: (146,0)-(146,29)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (146,5)-(146,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3198,12 +3526,13 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (146,10)-(146,25)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayNode (location: (146,13)-(146,20)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (146,16)-(146,19)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (146,16)-(146,19) = "foo" │ │ │ │ ├── closing_loc: ∅ @@ -3217,6 +3546,7 @@ │ ├── case_keyword_loc: (146,0)-(146,4) = "case" │ └── end_keyword_loc: (146,26)-(146,29) = "end" ├── @ CaseMatchNode (location: (147,0)-(147,29)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (147,5)-(147,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3230,12 +3560,13 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (147,10)-(147,25)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayNode (location: (147,13)-(147,20)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ SymbolNode (location: (147,16)-(147,19)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (147,16)-(147,19) = "foo" │ │ │ │ ├── closing_loc: ∅ @@ -3249,6 +3580,7 @@ │ ├── case_keyword_loc: (147,0)-(147,4) = "case" │ └── end_keyword_loc: (147,26)-(147,29) = "end" ├── @ CaseMatchNode (location: (148,0)-(148,29)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (148,5)-(148,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3262,6 +3594,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (148,10)-(148,25)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayNode (location: (148,13)-(148,20)) │ │ │ ├── flags: ∅ @@ -3281,6 +3614,7 @@ │ ├── case_keyword_loc: (148,0)-(148,4) = "case" │ └── end_keyword_loc: (148,26)-(148,29) = "end" ├── @ CaseMatchNode (location: (149,0)-(149,29)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (149,5)-(149,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3294,6 +3628,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (149,10)-(149,25)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayNode (location: (149,13)-(149,20)) │ │ │ ├── flags: ∅ @@ -3313,6 +3648,7 @@ │ ├── case_keyword_loc: (149,0)-(149,4) = "case" │ └── end_keyword_loc: (149,26)-(149,29) = "end" ├── @ CaseMatchNode (location: (150,0)-(150,29)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (150,5)-(150,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3326,6 +3662,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (150,10)-(150,25)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ StringNode (location: (150,13)-(150,20)) │ │ │ ├── flags: ∅ @@ -3340,6 +3677,7 @@ │ ├── case_keyword_loc: (150,0)-(150,4) = "case" │ └── end_keyword_loc: (150,26)-(150,29) = "end" ├── @ CaseMatchNode (location: (151,0)-(151,29)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (151,5)-(151,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3353,6 +3691,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (151,10)-(151,25)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ StringNode (location: (151,13)-(151,20)) │ │ │ ├── flags: ∅ @@ -3367,6 +3706,7 @@ │ ├── case_keyword_loc: (151,0)-(151,4) = "case" │ └── end_keyword_loc: (151,26)-(151,29) = "end" ├── @ CaseMatchNode (location: (152,0)-(152,27)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (152,5)-(152,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3380,6 +3720,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (152,10)-(152,23)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ StringNode (location: (152,13)-(152,18)) │ │ │ ├── flags: ∅ @@ -3394,6 +3735,7 @@ │ ├── case_keyword_loc: (152,0)-(152,4) = "case" │ └── end_keyword_loc: (152,24)-(152,27) = "end" ├── @ CaseMatchNode (location: (153,0)-(153,25)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (153,5)-(153,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3407,8 +3749,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (153,10)-(153,21)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ NilNode (location: (153,13)-(153,16)) + │ │ │ └── flags: static_literal │ │ ├── statements: ∅ │ │ ├── in_loc: (153,10)-(153,12) = "in" │ │ └── then_loc: (153,17)-(153,21) = "then" @@ -3416,6 +3760,7 @@ │ ├── case_keyword_loc: (153,0)-(153,4) = "case" │ └── end_keyword_loc: (153,22)-(153,25) = "end" ├── @ CaseMatchNode (location: (154,0)-(154,26)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (154,5)-(154,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3429,8 +3774,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (154,10)-(154,22)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ SelfNode (location: (154,13)-(154,17)) + │ │ │ └── flags: ∅ │ │ ├── statements: ∅ │ │ ├── in_loc: (154,10)-(154,12) = "in" │ │ └── then_loc: (154,18)-(154,22) = "then" @@ -3438,6 +3785,7 @@ │ ├── case_keyword_loc: (154,0)-(154,4) = "case" │ └── end_keyword_loc: (154,23)-(154,26) = "end" ├── @ CaseMatchNode (location: (155,0)-(155,26)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (155,5)-(155,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3451,8 +3799,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (155,10)-(155,22)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ TrueNode (location: (155,13)-(155,17)) + │ │ │ └── flags: static_literal │ │ ├── statements: ∅ │ │ ├── in_loc: (155,10)-(155,12) = "in" │ │ └── then_loc: (155,18)-(155,22) = "then" @@ -3460,6 +3810,7 @@ │ ├── case_keyword_loc: (155,0)-(155,4) = "case" │ └── end_keyword_loc: (155,23)-(155,26) = "end" ├── @ CaseMatchNode (location: (156,0)-(156,27)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (156,5)-(156,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3473,8 +3824,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (156,10)-(156,23)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ FalseNode (location: (156,13)-(156,18)) + │ │ │ └── flags: static_literal │ │ ├── statements: ∅ │ │ ├── in_loc: (156,10)-(156,12) = "in" │ │ └── then_loc: (156,19)-(156,23) = "then" @@ -3482,6 +3835,7 @@ │ ├── case_keyword_loc: (156,0)-(156,4) = "case" │ └── end_keyword_loc: (156,24)-(156,27) = "end" ├── @ CaseMatchNode (location: (157,0)-(157,30)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (157,5)-(157,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3495,6 +3849,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (157,10)-(157,26)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ SourceFileNode (location: (157,13)-(157,21)) │ │ │ ├── flags: ∅ @@ -3506,6 +3861,7 @@ │ ├── case_keyword_loc: (157,0)-(157,4) = "case" │ └── end_keyword_loc: (157,27)-(157,30) = "end" ├── @ CaseMatchNode (location: (158,0)-(158,30)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (158,5)-(158,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3519,8 +3875,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (158,10)-(158,26)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ SourceLineNode (location: (158,13)-(158,21)) + │ │ │ └── flags: static_literal │ │ ├── statements: ∅ │ │ ├── in_loc: (158,10)-(158,12) = "in" │ │ └── then_loc: (158,22)-(158,26) = "then" @@ -3528,6 +3886,7 @@ │ ├── case_keyword_loc: (158,0)-(158,4) = "case" │ └── end_keyword_loc: (158,27)-(158,30) = "end" ├── @ CaseMatchNode (location: (159,0)-(159,34)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (159,5)-(159,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3541,8 +3900,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (159,10)-(159,30)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ SourceEncodingNode (location: (159,13)-(159,25)) + │ │ │ └── flags: static_literal │ │ ├── statements: ∅ │ │ ├── in_loc: (159,10)-(159,12) = "in" │ │ └── then_loc: (159,26)-(159,30) = "then" @@ -3550,6 +3911,7 @@ │ ├── case_keyword_loc: (159,0)-(159,4) = "case" │ └── end_keyword_loc: (159,31)-(159,34) = "end" ├── @ CaseMatchNode (location: (160,0)-(160,32)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (160,5)-(160,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3563,8 +3925,10 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (160,10)-(160,28)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ LambdaNode (location: (160,13)-(160,23)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── operator_loc: (160,13)-(160,15) = "->" │ │ │ ├── opening_loc: (160,16)-(160,17) = "{" @@ -3572,8 +3936,10 @@ │ │ │ ├── parameters: ∅ │ │ │ └── body: │ │ │ @ StatementsNode (location: (160,18)-(160,21)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (160,18)-(160,21)) + │ │ │ ├── flags: newline │ │ │ ├── name: :bar │ │ │ └── depth: 1 │ │ ├── statements: ∅ @@ -3583,6 +3949,7 @@ │ ├── case_keyword_loc: (160,0)-(160,4) = "case" │ └── end_keyword_loc: (160,29)-(160,32) = "end" ├── @ CaseMatchNode (location: (162,0)-(162,32)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (162,5)-(162,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3596,18 +3963,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (162,10)-(162,28)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (162,13)-(162,23)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (162,17)-(162,19) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (162,20)-(162,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (162,13)-(162,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableTargetNode (location: (162,13)-(162,16)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :bar │ │ │ │ └── depth: 0 │ │ │ ├── consequent: ∅ @@ -3619,6 +3991,7 @@ │ ├── case_keyword_loc: (162,0)-(162,4) = "case" │ └── end_keyword_loc: (162,29)-(162,32) = "end" ├── @ CaseMatchNode (location: (163,0)-(163,30)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (163,5)-(163,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3632,19 +4005,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (163,10)-(163,26)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (163,13)-(163,21)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (163,15)-(163,17) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (163,18)-(163,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (163,13)-(163,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (163,13)-(163,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ @@ -3655,6 +4032,7 @@ │ ├── case_keyword_loc: (163,0)-(163,4) = "case" │ └── end_keyword_loc: (163,27)-(163,30) = "end" ├── @ CaseMatchNode (location: (164,0)-(164,32)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (164,5)-(164,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3668,18 +4046,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (164,10)-(164,28)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (164,13)-(164,23)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (164,17)-(164,19) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (164,20)-(164,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (164,13)-(164,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ FloatNode (location: (164,13)-(164,16)) + │ │ │ │ ├── flags: newline, static_literal │ │ │ │ └── value: 1.0 │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ @@ -3690,6 +4073,7 @@ │ ├── case_keyword_loc: (164,0)-(164,4) = "case" │ └── end_keyword_loc: (164,29)-(164,32) = "end" ├── @ CaseMatchNode (location: (165,0)-(165,31)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (165,5)-(165,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3703,21 +4087,26 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (165,10)-(165,27)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (165,13)-(165,22)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (165,16)-(165,18) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (165,19)-(165,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (165,13)-(165,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ImaginaryNode (location: (165,13)-(165,15)) + │ │ │ │ ├── flags: newline, static_literal │ │ │ │ └── numeric: │ │ │ │ @ IntegerNode (location: (165,13)-(165,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ @@ -3728,6 +4117,7 @@ │ ├── case_keyword_loc: (165,0)-(165,4) = "case" │ └── end_keyword_loc: (165,28)-(165,31) = "end" ├── @ CaseMatchNode (location: (166,0)-(166,31)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (166,5)-(166,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3741,19 +4131,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (166,10)-(166,27)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (166,13)-(166,22)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (166,16)-(166,18) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (166,19)-(166,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (166,13)-(166,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RationalNode (location: (166,13)-(166,15)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ ├── numerator: 1 │ │ │ │ └── denominator: 1 │ │ │ ├── consequent: ∅ @@ -3765,6 +4159,7 @@ │ ├── case_keyword_loc: (166,0)-(166,4) = "case" │ └── end_keyword_loc: (166,28)-(166,31) = "end" ├── @ CaseMatchNode (location: (167,0)-(167,33)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (167,5)-(167,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3778,19 +4173,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (167,10)-(167,29)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (167,13)-(167,24)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (167,18)-(167,20) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (167,21)-(167,24)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (167,13)-(167,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ SymbolNode (location: (167,13)-(167,17)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (167,13)-(167,14) = ":" │ │ │ │ ├── value_loc: (167,14)-(167,17) = "foo" │ │ │ │ ├── closing_loc: ∅ @@ -3804,6 +4203,7 @@ │ ├── case_keyword_loc: (167,0)-(167,4) = "case" │ └── end_keyword_loc: (167,30)-(167,33) = "end" ├── @ CaseMatchNode (location: (168,0)-(168,36)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (168,5)-(168,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3817,19 +4217,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (168,10)-(168,32)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (168,13)-(168,27)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (168,21)-(168,23) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (168,24)-(168,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (168,13)-(168,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ SymbolNode (location: (168,13)-(168,20)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (168,13)-(168,16) = "%s[" │ │ │ │ ├── value_loc: (168,16)-(168,19) = "foo" │ │ │ │ ├── closing_loc: (168,19)-(168,20) = "]" @@ -3843,6 +4247,7 @@ │ ├── case_keyword_loc: (168,0)-(168,4) = "case" │ └── end_keyword_loc: (168,33)-(168,36) = "end" ├── @ CaseMatchNode (location: (169,0)-(169,35)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (169,5)-(169,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3856,19 +4261,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (169,10)-(169,31)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (169,13)-(169,26)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (169,20)-(169,22) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (169,23)-(169,26)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (169,13)-(169,19)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ SymbolNode (location: (169,13)-(169,19)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (169,13)-(169,15) = ":\"" │ │ │ │ ├── value_loc: (169,15)-(169,18) = "foo" │ │ │ │ ├── closing_loc: (169,18)-(169,19) = "\"" @@ -3882,6 +4291,7 @@ │ ├── case_keyword_loc: (169,0)-(169,4) = "case" │ └── end_keyword_loc: (169,32)-(169,35) = "end" ├── @ CaseMatchNode (location: (170,0)-(170,34)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (170,5)-(170,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3895,19 +4305,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (170,10)-(170,30)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (170,13)-(170,25)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (170,19)-(170,21) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (170,22)-(170,25)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (170,13)-(170,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ RegularExpressionNode (location: (170,13)-(170,18)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (170,13)-(170,14) = "/" │ │ │ │ ├── content_loc: (170,14)-(170,17) = "foo" │ │ │ │ ├── closing_loc: (170,17)-(170,18) = "/" @@ -3921,6 +4335,7 @@ │ ├── case_keyword_loc: (170,0)-(170,4) = "case" │ └── end_keyword_loc: (170,31)-(170,34) = "end" ├── @ CaseMatchNode (location: (171,0)-(171,34)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (171,5)-(171,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3934,19 +4349,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (171,10)-(171,30)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (171,13)-(171,25)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (171,19)-(171,21) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (171,22)-(171,25)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (171,13)-(171,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ XStringNode (location: (171,13)-(171,18)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── opening_loc: (171,13)-(171,14) = "`" │ │ │ │ ├── content_loc: (171,14)-(171,17) = "foo" │ │ │ │ ├── closing_loc: (171,17)-(171,18) = "`" @@ -3960,6 +4379,7 @@ │ ├── case_keyword_loc: (171,0)-(171,4) = "case" │ └── end_keyword_loc: (171,31)-(171,34) = "end" ├── @ CaseMatchNode (location: (172,0)-(172,36)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (172,5)-(172,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -3973,19 +4393,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (172,10)-(172,32)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (172,13)-(172,27)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (172,21)-(172,23) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (172,24)-(172,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (172,13)-(172,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ XStringNode (location: (172,13)-(172,20)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── opening_loc: (172,13)-(172,16) = "%x[" │ │ │ │ ├── content_loc: (172,16)-(172,19) = "foo" │ │ │ │ ├── closing_loc: (172,19)-(172,20) = "]" @@ -3999,6 +4423,7 @@ │ ├── case_keyword_loc: (172,0)-(172,4) = "case" │ └── end_keyword_loc: (172,33)-(172,36) = "end" ├── @ CaseMatchNode (location: (173,0)-(173,36)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (173,5)-(173,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4012,22 +4437,26 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (173,10)-(173,32)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (173,13)-(173,27)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (173,21)-(173,23) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (173,24)-(173,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (173,13)-(173,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ArrayNode (location: (173,13)-(173,20)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline, static_literal │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ SymbolNode (location: (173,16)-(173,19)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (173,16)-(173,19) = "foo" │ │ │ │ │ ├── closing_loc: ∅ @@ -4043,6 +4472,7 @@ │ ├── case_keyword_loc: (173,0)-(173,4) = "case" │ └── end_keyword_loc: (173,33)-(173,36) = "end" ├── @ CaseMatchNode (location: (174,0)-(174,36)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (174,5)-(174,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4056,22 +4486,26 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (174,10)-(174,32)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (174,13)-(174,27)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (174,21)-(174,23) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (174,24)-(174,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (174,13)-(174,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ArrayNode (location: (174,13)-(174,20)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline, static_literal │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ SymbolNode (location: (174,16)-(174,19)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (174,16)-(174,19) = "foo" │ │ │ │ │ ├── closing_loc: ∅ @@ -4087,6 +4521,7 @@ │ ├── case_keyword_loc: (174,0)-(174,4) = "case" │ └── end_keyword_loc: (174,33)-(174,36) = "end" ├── @ CaseMatchNode (location: (175,0)-(175,36)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (175,5)-(175,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4100,19 +4535,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (175,10)-(175,32)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (175,13)-(175,27)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (175,21)-(175,23) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (175,24)-(175,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (175,13)-(175,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ArrayNode (location: (175,13)-(175,20)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ StringNode (location: (175,16)-(175,19)) │ │ │ │ │ ├── flags: ∅ @@ -4131,6 +4570,7 @@ │ ├── case_keyword_loc: (175,0)-(175,4) = "case" │ └── end_keyword_loc: (175,33)-(175,36) = "end" ├── @ CaseMatchNode (location: (176,0)-(176,36)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (176,5)-(176,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4144,19 +4584,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (176,10)-(176,32)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (176,13)-(176,27)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (176,21)-(176,23) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (176,24)-(176,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (176,13)-(176,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ArrayNode (location: (176,13)-(176,20)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ StringNode (location: (176,16)-(176,19)) │ │ │ │ │ ├── flags: ∅ @@ -4175,6 +4619,7 @@ │ ├── case_keyword_loc: (176,0)-(176,4) = "case" │ └── end_keyword_loc: (176,33)-(176,36) = "end" ├── @ CaseMatchNode (location: (177,0)-(177,36)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (177,5)-(177,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4188,19 +4633,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (177,10)-(177,32)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (177,13)-(177,27)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (177,21)-(177,23) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (177,24)-(177,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (177,13)-(177,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ StringNode (location: (177,13)-(177,20)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── opening_loc: (177,13)-(177,16) = "%q[" │ │ │ │ ├── content_loc: (177,16)-(177,19) = "foo" │ │ │ │ ├── closing_loc: (177,19)-(177,20) = "]" @@ -4214,6 +4663,7 @@ │ ├── case_keyword_loc: (177,0)-(177,4) = "case" │ └── end_keyword_loc: (177,33)-(177,36) = "end" ├── @ CaseMatchNode (location: (178,0)-(178,36)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (178,5)-(178,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4227,19 +4677,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (178,10)-(178,32)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (178,13)-(178,27)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (178,21)-(178,23) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (178,24)-(178,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (178,13)-(178,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ StringNode (location: (178,13)-(178,20)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── opening_loc: (178,13)-(178,16) = "%Q[" │ │ │ │ ├── content_loc: (178,16)-(178,19) = "foo" │ │ │ │ ├── closing_loc: (178,19)-(178,20) = "]" @@ -4253,6 +4707,7 @@ │ ├── case_keyword_loc: (178,0)-(178,4) = "case" │ └── end_keyword_loc: (178,33)-(178,36) = "end" ├── @ CaseMatchNode (location: (179,0)-(179,34)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (179,5)-(179,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4266,19 +4721,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (179,10)-(179,30)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (179,13)-(179,25)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (179,19)-(179,21) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (179,22)-(179,25)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (179,13)-(179,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ StringNode (location: (179,13)-(179,18)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── opening_loc: (179,13)-(179,14) = "\"" │ │ │ │ ├── content_loc: (179,14)-(179,17) = "foo" │ │ │ │ ├── closing_loc: (179,17)-(179,18) = "\"" @@ -4292,6 +4751,7 @@ │ ├── case_keyword_loc: (179,0)-(179,4) = "case" │ └── end_keyword_loc: (179,31)-(179,34) = "end" ├── @ CaseMatchNode (location: (180,0)-(180,32)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (180,5)-(180,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4305,18 +4765,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (180,10)-(180,28)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (180,13)-(180,23)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (180,17)-(180,19) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (180,20)-(180,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (180,13)-(180,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ NilNode (location: (180,13)-(180,16)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -4326,6 +4791,7 @@ │ ├── case_keyword_loc: (180,0)-(180,4) = "case" │ └── end_keyword_loc: (180,29)-(180,32) = "end" ├── @ CaseMatchNode (location: (181,0)-(181,33)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (181,5)-(181,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4339,18 +4805,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (181,10)-(181,29)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (181,13)-(181,24)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (181,18)-(181,20) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (181,21)-(181,24)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (181,13)-(181,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ SelfNode (location: (181,13)-(181,17)) + │ │ │ │ └── flags: newline │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -4360,6 +4831,7 @@ │ ├── case_keyword_loc: (181,0)-(181,4) = "case" │ └── end_keyword_loc: (181,30)-(181,33) = "end" ├── @ CaseMatchNode (location: (182,0)-(182,33)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (182,5)-(182,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4373,18 +4845,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (182,10)-(182,29)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (182,13)-(182,24)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (182,18)-(182,20) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (182,21)-(182,24)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (182,13)-(182,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (182,13)-(182,17)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -4394,6 +4871,7 @@ │ ├── case_keyword_loc: (182,0)-(182,4) = "case" │ └── end_keyword_loc: (182,30)-(182,33) = "end" ├── @ CaseMatchNode (location: (183,0)-(183,34)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (183,5)-(183,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4407,18 +4885,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (183,10)-(183,30)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (183,13)-(183,25)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (183,19)-(183,21) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (183,22)-(183,25)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (183,13)-(183,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ FalseNode (location: (183,13)-(183,18)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -4428,6 +4911,7 @@ │ ├── case_keyword_loc: (183,0)-(183,4) = "case" │ └── end_keyword_loc: (183,31)-(183,34) = "end" ├── @ CaseMatchNode (location: (184,0)-(184,37)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (184,5)-(184,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4441,19 +4925,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (184,10)-(184,33)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (184,13)-(184,28)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (184,22)-(184,24) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (184,25)-(184,28)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (184,13)-(184,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ SourceFileNode (location: (184,13)-(184,21)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ └── filepath: "patterns.txt" │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ @@ -4464,6 +4952,7 @@ │ ├── case_keyword_loc: (184,0)-(184,4) = "case" │ └── end_keyword_loc: (184,34)-(184,37) = "end" ├── @ CaseMatchNode (location: (185,0)-(185,37)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (185,5)-(185,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4477,18 +4966,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (185,10)-(185,33)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (185,13)-(185,28)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (185,22)-(185,24) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (185,25)-(185,28)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (185,13)-(185,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ SourceLineNode (location: (185,13)-(185,21)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -4498,6 +4992,7 @@ │ ├── case_keyword_loc: (185,0)-(185,4) = "case" │ └── end_keyword_loc: (185,34)-(185,37) = "end" ├── @ CaseMatchNode (location: (186,0)-(186,41)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (186,5)-(186,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4511,18 +5006,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (186,10)-(186,37)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (186,13)-(186,32)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (186,26)-(186,28) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (186,29)-(186,32)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (186,13)-(186,25)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ SourceEncodingNode (location: (186,13)-(186,25)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: ∅ @@ -4532,6 +5032,7 @@ │ ├── case_keyword_loc: (186,0)-(186,4) = "case" │ └── end_keyword_loc: (186,38)-(186,41) = "end" ├── @ CaseMatchNode (location: (187,0)-(187,39)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (187,5)-(187,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -4545,18 +5046,23 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (187,10)-(187,35)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (187,13)-(187,30)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (187,24)-(187,26) = "if" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (187,27)-(187,30)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 0 │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (187,13)-(187,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LambdaNode (location: (187,13)-(187,23)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── locals: [] │ │ │ │ ├── operator_loc: (187,13)-(187,15) = "->" │ │ │ │ ├── opening_loc: (187,16)-(187,17) = "{" @@ -4564,8 +5070,10 @@ │ │ │ │ ├── parameters: ∅ │ │ │ │ └── body: │ │ │ │ @ StatementsNode (location: (187,18)-(187,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (187,18)-(187,21)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :bar │ │ │ │ └── depth: 1 │ │ │ ├── consequent: ∅ @@ -4577,9 +5085,11 @@ │ ├── case_keyword_loc: (187,0)-(187,4) = "case" │ └── end_keyword_loc: (187,36)-(187,39) = "end" ├── @ IfNode (location: (189,0)-(190,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (189,0)-(189,2) = "if" │ ├── predicate: │ │ @ MatchPredicateNode (location: (189,3)-(189,10)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (189,3)-(189,4)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -4593,6 +5103,7 @@ │ │ │ └── block: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (189,8)-(189,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── rest: ∅ @@ -4605,6 +5116,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (190,0)-(190,3) = "end" ├── @ MatchRequiredNode (location: (192,0)-(194,1)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (192,0)-(192,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -4618,9 +5130,11 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (192,5)-(194,1)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (193,2)-(193,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -4629,6 +5143,7 @@ │ │ └── closing_loc: (194,0)-(194,1) = "]" │ └── operator_loc: (192,2)-(192,4) = "=>" ├── @ MatchPredicateNode (location: (196,0)-(200,1)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (196,0)-(196,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -4642,34 +5157,41 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (196,7)-(200,1)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (196,7)-(196,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (197,2)-(199,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (197,2)-(197,6)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (197,2)-(197,5) = "bar" │ │ │ │ ├── closing_loc: (197,5)-(197,6) = ":" │ │ │ │ └── unescaped: "bar" │ │ │ ├── value: │ │ │ │ @ HashPatternNode (location: (197,7)-(199,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: │ │ │ │ │ @ ConstantReadNode (location: (197,7)-(197,8)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :B │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ AssocNode (location: (198,4)-(198,12)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── key: │ │ │ │ │ │ @ SymbolNode (location: (198,4)-(198,10)) - │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── value_loc: (198,4)-(198,9) = "value" │ │ │ │ │ │ ├── closing_loc: (198,9)-(198,10) = ":" │ │ │ │ │ │ └── unescaped: "value" │ │ │ │ │ ├── value: │ │ │ │ │ │ @ LocalVariableTargetNode (location: (198,11)-(198,12)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :a │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ └── operator_loc: ∅ @@ -4682,6 +5204,7 @@ │ │ └── closing_loc: (200,0)-(200,1) = "]" │ └── operator_loc: (196,4)-(196,6) = "in" ├── @ MatchPredicateNode (location: (202,0)-(202,17)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (202,0)-(202,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -4695,17 +5218,21 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ CapturePatternNode (location: (202,7)-(202,17)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ LocalVariableTargetNode (location: (202,7)-(202,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── target: │ │ │ @ LocalVariableTargetNode (location: (202,14)-(202,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ └── operator_loc: (202,11)-(202,13) = "=>" │ └── operator_loc: (202,4)-(202,6) = "in" ├── @ MatchRequiredNode (location: (203,0)-(203,17)) + │ ├── flags: newline │ ├── value: │ │ @ CallNode (location: (203,0)-(203,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -4719,25 +5246,32 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ CapturePatternNode (location: (203,7)-(203,17)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ LocalVariableTargetNode (location: (203,7)-(203,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── target: │ │ │ @ LocalVariableTargetNode (location: (203,14)-(203,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ └── operator_loc: (203,11)-(203,13) = "=>" │ └── operator_loc: (203,4)-(203,6) = "=>" ├── @ MultiWriteNode (location: (205,0)-(205,20)) + │ ├── flags: newline │ ├── lefts: (length: 3) │ │ ├── @ LocalVariableTargetNode (location: (205,0)-(205,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ ├── @ LocalVariableTargetNode (location: (205,5)-(205,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (205,10)-(205,13)) + │ │ ├── flags: ∅ │ │ ├── name: :baz │ │ └── depth: 0 │ ├── rest: ∅ @@ -4747,18 +5281,18 @@ │ ├── operator_loc: (205,14)-(205,15) = "=" │ └── value: │ @ ArrayNode (location: (205,16)-(205,20)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (205,16)-(205,17)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (205,19)-(205,20)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── @ CallNode (location: (206,0)-(208,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -4768,34 +5302,41 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (206,4)-(208,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (207,2)-(207,29)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ MatchRequiredNode (location: (207,2)-(207,29)) + │ │ ├── flags: newline │ │ ├── value: │ │ │ @ ArrayNode (location: (207,2)-(207,8)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ IntegerNode (location: (207,3)-(207,4)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── @ IntegerNode (location: (207,6)-(207,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── opening_loc: (207,2)-(207,3) = "[" │ │ │ └── closing_loc: (207,7)-(207,8) = "]" │ │ ├── pattern: │ │ │ @ CapturePatternNode (location: (207,12)-(207,29)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ ArrayPatternNode (location: (207,12)-(207,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── requireds: (length: 2) │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (207,13)-(207,16)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :foo │ │ │ │ │ │ └── depth: 1 │ │ │ │ │ └── @ LocalVariableTargetNode (location: (207,18)-(207,21)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :bar │ │ │ │ │ └── depth: 1 │ │ │ │ ├── rest: ∅ @@ -4804,6 +5345,7 @@ │ │ │ │ └── closing_loc: (207,21)-(207,22) = "]" │ │ │ ├── target: │ │ │ │ @ LocalVariableTargetNode (location: (207,26)-(207,29)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :baz │ │ │ │ └── depth: 1 │ │ │ └── operator_loc: (207,23)-(207,25) = "=>" @@ -4811,31 +5353,39 @@ │ ├── opening_loc: (206,4)-(206,6) = "do" │ └── closing_loc: (208,0)-(208,3) = "end" ├── @ MatchRequiredNode (location: (210,0)-(210,19)) + │ ├── flags: newline │ ├── value: │ │ @ LocalVariableReadNode (location: (210,0)-(210,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── pattern: │ │ @ ArrayPatternNode (location: (210,7)-(210,19)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (210,7)-(210,13)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Object │ │ ├── requireds: (length: 1) │ │ │ └── @ HashPatternNode (location: (210,14)-(210,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ AssocNode (location: (210,15)-(210,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (210,15)-(210,17)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (210,15)-(210,16) = "x" │ │ │ │ │ ├── closing_loc: (210,16)-(210,17) = ":" │ │ │ │ │ └── unescaped: "x" │ │ │ │ ├── value: │ │ │ │ │ @ ImplicitNode (location: (210,15)-(210,16)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── value: │ │ │ │ │ @ LocalVariableTargetNode (location: (210,15)-(210,16)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :x │ │ │ │ │ └── depth: 0 │ │ │ │ └── operator_loc: ∅ @@ -4848,10 +5398,10 @@ │ │ └── closing_loc: (210,18)-(210,19) = "]" │ └── operator_loc: (210,4)-(210,6) = "=>" ├── @ CallNode (location: (212,0)-(212,19)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (212,0)-(212,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: (212,1)-(212,2) = "." │ ├── name: :then @@ -4861,22 +5411,28 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (212,7)-(212,19)) + │ ├── flags: ∅ │ ├── locals: [:_1] │ ├── parameters: │ │ @ NumberedParametersNode (location: (212,7)-(212,19)) + │ │ ├── flags: ∅ │ │ └── maximum: 1 │ ├── body: │ │ @ StatementsNode (location: (212,9)-(212,17)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ MatchPredicateNode (location: (212,9)-(212,17)) + │ │ ├── flags: newline │ │ ├── value: │ │ │ @ IntegerNode (location: (212,9)-(212,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── pattern: │ │ │ @ PinnedVariableNode (location: (212,14)-(212,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── variable: │ │ │ │ @ LocalVariableReadNode (location: (212,15)-(212,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :_1 │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: (212,14)-(212,15) = "^" @@ -4884,11 +5440,14 @@ │ ├── opening_loc: (212,7)-(212,8) = "{" │ └── closing_loc: (212,18)-(212,19) = "}" ├── @ MultiWriteNode (location: (214,0)-(217,5)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (215,2)-(215,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (216,2)-(216,3)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rest: ∅ @@ -4908,21 +5467,27 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CaseMatchNode (location: (219,0)-(219,25)) + │ ├── flags: newline │ ├── predicate: │ │ @ ParenthesesNode (location: (219,5)-(219,7)) + │ │ ├── flags: ∅ │ │ ├── body: ∅ │ │ ├── opening_loc: (219,5)-(219,6) = "(" │ │ └── closing_loc: (219,6)-(219,7) = ")" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (219,9)-(219,20)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (219,12)-(219,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ LocalVariableTargetNode (location: (219,13)-(219,15)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :_a │ │ │ │ │ └── depth: 0 │ │ │ │ └── @ LocalVariableTargetNode (location: (219,17)-(219,19)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :_a │ │ │ │ └── depth: 0 │ │ │ ├── rest: ∅ @@ -4936,50 +5501,58 @@ │ ├── case_keyword_loc: (219,0)-(219,4) = "case" │ └── end_keyword_loc: (219,22)-(219,25) = "end" └── @ CaseMatchNode (location: (220,0)-(220,31)) + ├── flags: newline ├── predicate: │ @ ParenthesesNode (location: (220,5)-(220,7)) + │ ├── flags: ∅ │ ├── body: ∅ │ ├── opening_loc: (220,5)-(220,6) = "(" │ └── closing_loc: (220,6)-(220,7) = ")" ├── conditions: (length: 1) │ └── @ InNode (location: (220,9)-(220,26)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (220,12)-(220,26)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ HashPatternNode (location: (220,13)-(220,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ AssocNode (location: (220,14)-(220,17)) + │ │ │ │ │ ├── flags: static_literal │ │ │ │ │ ├── key: │ │ │ │ │ │ @ SymbolNode (location: (220,14)-(220,16)) - │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── value_loc: (220,14)-(220,15) = "a" │ │ │ │ │ │ ├── closing_loc: (220,15)-(220,16) = ":" │ │ │ │ │ │ └── unescaped: "a" │ │ │ │ │ ├── value: │ │ │ │ │ │ @ IntegerNode (location: (220,16)-(220,17)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 1 │ │ │ │ │ └── operator_loc: ∅ │ │ │ │ ├── rest: ∅ │ │ │ │ ├── opening_loc: (220,13)-(220,14) = "{" │ │ │ │ └── closing_loc: (220,17)-(220,18) = "}" │ │ │ └── @ HashPatternNode (location: (220,20)-(220,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ AssocNode (location: (220,21)-(220,24)) + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (220,21)-(220,23)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (220,21)-(220,22) = "a" │ │ │ │ │ ├── closing_loc: (220,22)-(220,23) = ":" │ │ │ │ │ └── unescaped: "a" │ │ │ │ ├── value: │ │ │ │ │ @ IntegerNode (location: (220,23)-(220,24)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ └── operator_loc: ∅ │ │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/procs.txt b/test/prism/snapshots/procs.txt index 1329ae6a5f..a760216514 100644 --- a/test/prism/snapshots/procs.txt +++ b/test/prism/snapshots/procs.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(27,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(27,19)) + ├── flags: ∅ └── body: (length: 10) ├── @ LambdaNode (location: (1,0)-(1,21)) + │ ├── flags: newline │ ├── locals: [:a, :b, :c, :d] │ ├── operator_loc: (1,0)-(1,2) = "->" │ ├── opening_loc: (1,16)-(1,17) = "{" │ ├── closing_loc: (1,20)-(1,21) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,3)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,4)-(1,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5)) │ │ │ │ ├── flags: ∅ @@ -36,11 +41,14 @@ │ │ └── closing_loc: (1,14)-(1,15) = ")" │ └── body: │ @ StatementsNode (location: (1,18)-(1,19)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (1,18)-(1,19)) + │ ├── flags: newline │ ├── name: :b │ └── depth: 0 ├── @ LambdaNode (location: (3,0)-(5,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── operator_loc: (3,0)-(3,2) = "->" │ ├── opening_loc: (3,3)-(3,5) = "do" @@ -48,17 +56,20 @@ │ ├── parameters: ∅ │ └── body: │ @ BeginNode (location: (3,3)-(5,3)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: ∅ │ ├── statements: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: │ │ @ EnsureNode (location: (4,0)-(5,3)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (4,0)-(4,6) = "ensure" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ LambdaNode (location: (7,0)-(11,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── operator_loc: (7,0)-(7,2) = "->" │ ├── opening_loc: (7,3)-(7,5) = "do" @@ -66,10 +77,12 @@ │ ├── parameters: ∅ │ └── body: │ @ BeginNode (location: (7,3)-(11,3)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: ∅ │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (8,0)-(8,6)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (8,0)-(8,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ @@ -78,16 +91,19 @@ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (9,0)-(10,6)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (9,0)-(9,4) = "else" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (10,0)-(10,6) = "ensure" │ ├── ensure_clause: │ │ @ EnsureNode (location: (10,0)-(11,3)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (10,0)-(10,6) = "ensure" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (11,0)-(11,3) = "end" │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ LambdaNode (location: (13,0)-(13,10)) + │ ├── flags: newline │ ├── locals: [] │ ├── operator_loc: (13,0)-(13,2) = "->" │ ├── opening_loc: (13,3)-(13,4) = "{" @@ -95,9 +111,10 @@ │ ├── parameters: ∅ │ └── body: │ @ StatementsNode (location: (13,5)-(13,8)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (13,5)-(13,8)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -107,6 +124,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ LambdaNode (location: (15,0)-(15,15)) + │ ├── flags: newline │ ├── locals: [] │ ├── operator_loc: (15,0)-(15,2) = "->" │ ├── opening_loc: (15,3)-(15,5) = "do" @@ -114,9 +132,10 @@ │ ├── parameters: ∅ │ └── body: │ @ StatementsNode (location: (15,7)-(15,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (15,7)-(15,10)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -126,14 +145,17 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ LambdaNode (location: (17,0)-(17,29)) + │ ├── flags: newline │ ├── locals: [:a, :b, :c, :d, :e] │ ├── operator_loc: (17,0)-(17,2) = "->" │ ├── opening_loc: (17,24)-(17,25) = "{" │ ├── closing_loc: (17,28)-(17,29) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (17,3)-(17,23)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (17,3)-(17,23)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (17,3)-(17,4)) │ │ │ │ ├── flags: ∅ @@ -146,7 +168,7 @@ │ │ │ │ ├── operator_loc: (17,8)-(17,9) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (17,10)-(17,11)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) @@ -171,19 +193,24 @@ │ │ └── closing_loc: ∅ │ └── body: │ @ StatementsNode (location: (17,26)-(17,27)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (17,26)-(17,27)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── @ LambdaNode (location: (19,0)-(19,40)) + │ ├── flags: newline │ ├── locals: [:a, :b, :c, :d, :e, :f, :g] │ ├── operator_loc: (19,0)-(19,2) = "->" │ ├── opening_loc: (19,35)-(19,36) = "{" │ ├── closing_loc: (19,39)-(19,40) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (19,3)-(19,34)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (19,4)-(19,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (19,4)-(19,5)) │ │ │ │ ├── flags: ∅ @@ -196,7 +223,7 @@ │ │ │ │ ├── operator_loc: (19,9)-(19,10) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (19,11)-(19,12)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: │ │ │ │ @ RestParameterNode (location: (19,14)-(19,16)) @@ -231,19 +258,24 @@ │ │ └── closing_loc: (19,33)-(19,34) = ")" │ └── body: │ @ StatementsNode (location: (19,37)-(19,38)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (19,37)-(19,38)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── @ LambdaNode (location: (21,0)-(23,3)) + │ ├── flags: newline │ ├── locals: [:a, :b, :c, :d, :e, :f, :g] │ ├── operator_loc: (21,0)-(21,2) = "->" │ ├── opening_loc: (21,35)-(21,37) = "do" │ ├── closing_loc: (23,0)-(23,3) = "end" │ ├── parameters: │ │ @ BlockParametersNode (location: (21,3)-(21,34)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (21,4)-(21,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (21,4)-(21,5)) │ │ │ │ ├── flags: ∅ @@ -256,7 +288,7 @@ │ │ │ │ ├── operator_loc: (21,9)-(21,10) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (21,11)-(21,12)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: │ │ │ │ @ RestParameterNode (location: (21,14)-(21,16)) @@ -291,19 +323,24 @@ │ │ └── closing_loc: (21,33)-(21,34) = ")" │ └── body: │ @ StatementsNode (location: (22,2)-(22,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (22,2)-(22,3)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── @ LambdaNode (location: (25,0)-(25,25)) + │ ├── flags: newline │ ├── locals: [:a] │ ├── operator_loc: (25,0)-(25,2) = "->" │ ├── opening_loc: (25,7)-(25,8) = "{" │ ├── closing_loc: (25,24)-(25,25) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (25,3)-(25,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (25,4)-(25,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (25,4)-(25,5)) │ │ │ │ ├── flags: ∅ @@ -319,16 +356,20 @@ │ │ └── closing_loc: (25,5)-(25,6) = ")" │ └── body: │ @ StatementsNode (location: (25,9)-(25,23)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LambdaNode (location: (25,9)-(25,23)) + │ ├── flags: newline │ ├── locals: [:b] │ ├── operator_loc: (25,9)-(25,11) = "->" │ ├── opening_loc: (25,14)-(25,15) = "{" │ ├── closing_loc: (25,22)-(25,23) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (25,12)-(25,13)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (25,12)-(25,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (25,12)-(25,13)) │ │ │ │ ├── flags: ∅ @@ -344,11 +385,13 @@ │ │ └── closing_loc: ∅ │ └── body: │ @ StatementsNode (location: (25,16)-(25,21)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (25,16)-(25,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (25,16)-(25,17)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 1 │ ├── call_operator_loc: ∅ @@ -360,21 +403,26 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (25,20)-(25,21)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── closing_loc: ∅ │ └── block: ∅ └── @ LambdaNode (location: (27,0)-(27,19)) + ├── flags: newline ├── locals: [:a, :b, :c] ├── operator_loc: (27,0)-(27,2) = "->" ├── opening_loc: (27,16)-(27,17) = "{" ├── closing_loc: (27,18)-(27,19) = "}" ├── parameters: │ @ BlockParametersNode (location: (27,3)-(27,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (27,4)-(27,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (27,4)-(27,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (27,5)-(27,6)) │ │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/range_begin_open_exclusive.txt b/test/prism/snapshots/range_begin_open_exclusive.txt index a630b01ef1..e4ca315fc2 100644 --- a/test/prism/snapshots/range_begin_open_exclusive.txt +++ b/test/prism/snapshots/range_begin_open_exclusive.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,4)) - ├── flags: exclude_end + ├── flags: newline, static_literal, exclude_end ├── left: ∅ ├── right: │ @ IntegerNode (location: (1,3)-(1,4)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 └── operator_loc: (1,0)-(1,3) = "..." diff --git a/test/prism/snapshots/range_begin_open_inclusive.txt b/test/prism/snapshots/range_begin_open_inclusive.txt index dc8ef0d2db..45aa88a5d1 100644 --- a/test/prism/snapshots/range_begin_open_inclusive.txt +++ b/test/prism/snapshots/range_begin_open_inclusive.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,3)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── left: ∅ ├── right: │ @ IntegerNode (location: (1,2)-(1,3)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 └── operator_loc: (1,0)-(1,2) = ".." diff --git a/test/prism/snapshots/range_end_open_exclusive.txt b/test/prism/snapshots/range_end_open_exclusive.txt index 17a75f8945..d0d3f810a3 100644 --- a/test/prism/snapshots/range_end_open_exclusive.txt +++ b/test/prism/snapshots/range_end_open_exclusive.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,4)) - ├── flags: exclude_end + ├── flags: newline, static_literal, exclude_end ├── left: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── right: ∅ └── operator_loc: (1,1)-(1,4) = "..." diff --git a/test/prism/snapshots/range_end_open_inclusive.txt b/test/prism/snapshots/range_end_open_inclusive.txt index b49272d8cd..8bfee649a3 100644 --- a/test/prism/snapshots/range_end_open_inclusive.txt +++ b/test/prism/snapshots/range_end_open_inclusive.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,3)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── left: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── right: ∅ └── operator_loc: (1,1)-(1,3) = ".." diff --git a/test/prism/snapshots/ranges.txt b/test/prism/snapshots/ranges.txt index a9688baf30..7c2175791b 100644 --- a/test/prism/snapshots/ranges.txt +++ b/test/prism/snapshots/ranges.txt @@ -1,49 +1,55 @@ @ ProgramNode (location: (1,0)-(49,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(49,7)) + ├── flags: ∅ └── body: (length: 25) ├── @ ParenthesesNode (location: (1,0)-(1,6)) + │ ├── flags: newline │ ├── body: │ │ @ StatementsNode (location: (1,1)-(1,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (1,1)-(1,5)) - │ │ ├── flags: exclude_end + │ │ ├── flags: newline, static_literal, exclude_end │ │ ├── left: ∅ │ │ ├── right: │ │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (1,1)-(1,4) = "..." │ ├── opening_loc: (1,0)-(1,1) = "(" │ └── closing_loc: (1,5)-(1,6) = ")" ├── @ ParenthesesNode (location: (3,0)-(3,5)) + │ ├── flags: newline │ ├── body: │ │ @ StatementsNode (location: (3,1)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (3,1)-(3,4)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline, static_literal │ │ ├── left: ∅ │ │ ├── right: │ │ │ @ IntegerNode (location: (3,3)-(3,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── 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 + │ ├── flags: newline, static_literal, exclude_end │ ├── left: │ │ @ IntegerNode (location: (5,0)-(5,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ IntegerNode (location: (5,4)-(5,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (5,1)-(5,4) = "..." ├── @ CallNode (location: (7,0)-(7,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -64,22 +70,24 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ RangeNode (location: (7,4)-(7,8)) - │ │ ├── flags: exclude_end + │ │ ├── flags: static_literal, exclude_end │ │ ├── left: ∅ │ │ ├── right: │ │ │ @ IntegerNode (location: (7,7)-(7,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (7,4)-(7,7) = "..." │ ├── closing_loc: (7,8)-(7,9) = "]" │ └── block: ∅ ├── @ HashNode (location: (9,0)-(9,15)) + │ ├── flags: newline │ ├── opening_loc: (9,0)-(9,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (9,2)-(9,13)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (9,2)-(9,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (9,2)-(9,5) = "foo" │ │ │ ├── closing_loc: (9,5)-(9,6) = ":" @@ -103,37 +111,41 @@ │ │ └── operator_loc: ∅ │ └── closing_loc: (9,14)-(9,15) = "}" ├── @ ParenthesesNode (location: (11,0)-(11,6)) + │ ├── flags: newline │ ├── body: │ │ @ StatementsNode (location: (11,1)-(11,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (11,1)-(11,5)) - │ │ ├── flags: exclude_end + │ │ ├── flags: newline, static_literal, exclude_end │ │ ├── left: │ │ │ @ IntegerNode (location: (11,1)-(11,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── 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: ∅ + │ ├── flags: newline, static_literal │ ├── left: │ │ @ IntegerNode (location: (13,0)-(13,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ IntegerNode (location: (13,3)-(13,4)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (13,1)-(13,3) = ".." ├── @ HashNode (location: (15,0)-(15,14)) + │ ├── flags: newline │ ├── opening_loc: (15,0)-(15,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (15,2)-(15,12)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (15,2)-(15,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (15,2)-(15,5) = "foo" │ │ │ ├── closing_loc: (15,5)-(15,6) = ":" @@ -157,58 +169,61 @@ │ │ └── operator_loc: ∅ │ └── closing_loc: (15,13)-(15,14) = "}" ├── @ ParenthesesNode (location: (17,0)-(17,5)) + │ ├── flags: newline │ ├── body: │ │ @ StatementsNode (location: (17,1)-(17,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (17,1)-(17,4)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline, static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (17,1)-(17,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── 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: ∅ + │ ├── flags: newline │ ├── left: │ │ @ IntegerNode (location: (19,0)-(19,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ RangeNode (location: (19,5)-(19,8)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: ∅ │ │ ├── right: │ │ │ @ IntegerNode (location: (19,7)-(19,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (19,5)-(19,7) = ".." │ └── operator_loc: (19,2)-(19,4) = ".." ├── @ AndNode (location: (21,0)-(21,8)) + │ ├── flags: newline │ ├── left: │ │ @ RangeNode (location: (21,0)-(21,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (21,0)-(21,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (21,1)-(21,3) = ".." │ ├── right: │ │ @ IntegerNode (location: (21,7)-(21,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (21,4)-(21,6) = "&&" ├── @ CallNode (location: (23,0)-(23,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RangeNode (location: (23,0)-(23,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (23,0)-(23,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (23,1)-(23,3) = ".." @@ -221,18 +236,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (23,7)-(23,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RangeNode (location: (25,0)-(25,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (25,0)-(25,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (25,1)-(25,3) = ".." @@ -245,18 +260,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (25,7)-(25,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (27,0)-(27,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RangeNode (location: (27,0)-(27,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (27,0)-(27,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (27,1)-(27,3) = ".." @@ -269,18 +284,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (27,8)-(27,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RangeNode (location: (29,0)-(29,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (29,0)-(29,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (29,1)-(29,3) = ".." @@ -293,18 +308,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (29,8)-(29,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RangeNode (location: (31,0)-(31,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (31,0)-(31,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (31,1)-(31,3) = ".." @@ -317,18 +332,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (31,7)-(31,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RangeNode (location: (33,0)-(33,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (33,0)-(33,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (33,1)-(33,3) = ".." @@ -341,18 +356,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (33,7)-(33,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ RangeNode (location: (35,0)-(35,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (35,0)-(35,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (35,1)-(35,3) = ".." @@ -365,18 +380,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (35,6)-(35,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (37,0)-(37,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ RangeNode (location: (37,0)-(37,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (37,0)-(37,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (37,1)-(37,3) = ".." @@ -389,18 +404,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (37,6)-(37,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ RangeNode (location: (39,0)-(39,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (39,0)-(39,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (39,1)-(39,3) = ".." @@ -413,18 +428,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (39,7)-(39,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (41,0)-(41,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ RangeNode (location: (41,0)-(41,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (41,0)-(41,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (41,1)-(41,3) = ".." @@ -437,18 +452,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (41,7)-(41,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (43,0)-(43,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RangeNode (location: (43,0)-(43,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (43,0)-(43,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (43,1)-(43,3) = ".." @@ -461,18 +476,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (43,7)-(43,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RangeNode (location: (45,0)-(45,3)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (45,0)-(45,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (45,1)-(45,3) = ".." @@ -485,22 +500,22 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (45,7)-(45,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ RangeNode (location: (47,0)-(47,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── left: │ │ @ IntegerNode (location: (47,0)-(47,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ CallNode (location: (47,4)-(47,7)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (47,6)-(47,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :+@ @@ -511,17 +526,17 @@ │ │ └── block: ∅ │ └── operator_loc: (47,1)-(47,3) = ".." └── @ RangeNode (location: (49,0)-(49,7)) - ├── flags: ∅ + ├── flags: newline ├── left: │ @ IntegerNode (location: (49,0)-(49,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── right: │ @ CallNode (location: (49,4)-(49,7)) │ ├── flags: ∅ │ ├── receiver: │ │ @ IntegerNode (location: (49,6)-(49,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── call_operator_loc: ∅ │ ├── name: :-@ diff --git a/test/prism/snapshots/regex.txt b/test/prism/snapshots/regex.txt index d4d153e8d5..2f4b986d97 100644 --- a/test/prism/snapshots/regex.txt +++ b/test/prism/snapshots/regex.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(46,32)) +├── flags: ∅ ├── locals: [:foo, :ab, :abc, :a] └── statements: @ StatementsNode (location: (1,0)-(46,32)) + ├── flags: ∅ └── body: (length: 25) ├── @ CallNode (location: (1,0)-(1,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -15,7 +17,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ RegularExpressionNode (location: (1,4)-(1,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,4)-(1,5) = "/" │ │ ├── content_loc: (1,5)-(1,8) = "bar" │ │ ├── closing_loc: (1,8)-(1,9) = "/" @@ -23,47 +25,51 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ RegularExpressionNode (location: (3,0)-(3,8)) - │ ├── flags: ignore_case, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, ignore_case, forced_us_ascii_encoding │ ├── opening_loc: (3,0)-(3,3) = "%r{" │ ├── content_loc: (3,3)-(3,6) = "abc" │ ├── closing_loc: (3,6)-(3,8) = "}i" │ └── unescaped: "abc" ├── @ RegularExpressionNode (location: (5,0)-(5,5)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (5,0)-(5,1) = "/" │ ├── content_loc: (5,1)-(5,4) = "a\\b" │ ├── closing_loc: (5,4)-(5,5) = "/" │ └── unescaped: "a\\b" ├── @ InterpolatedRegularExpressionNode (location: (7,0)-(7,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (7,0)-(7,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (7,1)-(7,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (7,1)-(7,5) = "aaa " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "aaa " │ │ └── @ EmbeddedVariableNode (location: (7,5)-(7,10)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (7,5)-(7,6) = "#" │ │ └── variable: │ │ @ GlobalVariableReadNode (location: (7,6)-(7,10)) + │ │ ├── flags: ∅ │ │ └── name: :$bbb │ └── closing_loc: (7,10)-(7,11) = "/" ├── @ InterpolatedRegularExpressionNode (location: (9,0)-(9,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (9,0)-(9,1) = "/" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (9,1)-(9,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (9,1)-(9,5) = "aaa " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "aaa " │ │ ├── @ EmbeddedStatementsNode (location: (9,5)-(9,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (9,5)-(9,7) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (9,7)-(9,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (9,7)-(9,10)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -77,22 +83,23 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (9,10)-(9,11) = "}" │ │ └── @ StringNode (location: (9,11)-(9,15)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (9,11)-(9,15) = " ccc" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " ccc" │ └── closing_loc: (9,15)-(9,16) = "/" ├── @ ArrayNode (location: (11,0)-(11,27)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ MatchWriteNode (location: (11,1)-(11,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── call: │ │ │ │ @ CallNode (location: (11,1)-(11,21)) │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ RegularExpressionNode (location: (11,1)-(11,14)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (11,1)-(11,2) = "/" │ │ │ │ │ ├── content_loc: (11,2)-(11,13) = "(?<foo>bar)" │ │ │ │ │ ├── closing_loc: (11,13)-(11,14) = "/" @@ -119,48 +126,50 @@ │ │ │ │ └── block: ∅ │ │ │ └── targets: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (11,5)-(11,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ └── @ LocalVariableReadNode (location: (11,23)-(11,26)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── opening_loc: (11,0)-(11,1) = "[" │ └── closing_loc: (11,26)-(11,27) = "]" ├── @ RegularExpressionNode (location: (13,0)-(13,6)) - │ ├── flags: ignore_case, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, ignore_case, forced_us_ascii_encoding │ ├── opening_loc: (13,0)-(13,1) = "/" │ ├── content_loc: (13,1)-(13,4) = "abc" │ ├── closing_loc: (13,4)-(13,6) = "/i" │ └── unescaped: "abc" ├── @ RegularExpressionNode (location: (15,0)-(15,26)) - │ ├── flags: ignore_case, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, ignore_case, forced_us_ascii_encoding │ ├── 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$.?\#@~]*:" ├── @ RegularExpressionNode (location: (17,0)-(17,37)) - │ ├── flags: ignore_case, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, ignore_case, forced_us_ascii_encoding │ ├── 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)" ├── @ RegularExpressionNode (location: (19,0)-(19,25)) - │ ├── flags: ignore_case, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, ignore_case, forced_us_ascii_encoding │ ├── 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$.?\#@~]*" ├── @ RegularExpressionNode (location: (21,0)-(24,1)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (21,0)-(21,3) = "%r(" │ ├── content_loc: (21,3)-(24,0) = "\n(?:[\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\#$%_']+)\n" │ ├── closing_loc: (24,0)-(24,1) = ")" │ └── unescaped: "\n(?:[\#$%_']|\\(\\)|\\(,\\)|\\[\\]|[0-9])*\n (?:[\#$%_']+)\n" ├── @ CallNode (location: (26,0)-(26,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RegularExpressionNode (location: (26,0)-(26,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (26,0)-(26,1) = "/" │ │ ├── content_loc: (26,1)-(26,7) = "(?#\\))" │ │ ├── closing_loc: (26,7)-(26,8) = "/" @@ -182,25 +191,27 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ RegularExpressionNode (location: (28,0)-(28,9)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (28,0)-(28,3) = "%r#" │ ├── content_loc: (28,3)-(28,8) = "pound" │ ├── closing_loc: (28,8)-(28,9) = "#" │ └── unescaped: "pound" ├── @ InterpolatedRegularExpressionNode (location: (30,0)-(30,13)) - │ ├── flags: once + │ ├── flags: newline, once │ ├── opening_loc: (30,0)-(30,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (30,1)-(30,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (30,1)-(30,5) = "aaa " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "aaa " │ │ └── @ EmbeddedStatementsNode (location: (30,5)-(30,11)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (30,5)-(30,7) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (30,7)-(30,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (30,7)-(30,10)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -215,12 +226,13 @@ │ │ └── closing_loc: (30,10)-(30,11) = "}" │ └── closing_loc: (30,11)-(30,13) = "/o" ├── @ MatchWriteNode (location: (32,0)-(33,10)) + │ ├── flags: newline │ ├── call: │ │ @ CallNode (location: (32,0)-(33,10)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ RegularExpressionNode (location: (32,0)-(33,4)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (32,0)-(32,1) = "/" │ │ │ ├── content_loc: (32,1)-(33,3) = "(?<a\\\nb>)" │ │ │ ├── closing_loc: (33,3)-(33,4) = "/" @@ -243,18 +255,21 @@ │ │ └── block: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (32,0)-(33,4)) + │ ├── flags: ∅ │ ├── name: :ab │ └── depth: 0 ├── @ LocalVariableReadNode (location: (33,12)-(33,14)) + │ ├── flags: newline │ ├── name: :ab │ └── depth: 0 ├── @ MatchWriteNode (location: (35,0)-(35,24)) + │ ├── flags: newline │ ├── call: │ │ @ CallNode (location: (35,0)-(35,24)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ RegularExpressionNode (location: (35,0)-(35,18)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (35,0)-(35,1) = "/" │ │ │ ├── content_loc: (35,1)-(35,17) = "(?<abc>)(?<abc>)" │ │ │ ├── closing_loc: (35,17)-(35,18) = "/" @@ -277,16 +292,18 @@ │ │ └── block: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (35,4)-(35,7)) + │ ├── flags: ∅ │ ├── name: :abc │ └── depth: 0 ├── @ LocalVariableReadNode (location: (35,26)-(35,29)) + │ ├── flags: newline │ ├── name: :abc │ └── depth: 0 ├── @ CallNode (location: (37,0)-(37,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RegularExpressionNode (location: (37,0)-(37,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (37,0)-(37,1) = "/" │ │ ├── content_loc: (37,1)-(37,9) = "(?<a b>)" │ │ ├── closing_loc: (37,9)-(37,10) = "/" @@ -308,16 +325,17 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ LocalVariableWriteNode (location: (39,0)-(39,5)) + │ ├── flags: newline │ ├── name: :a │ ├── depth: 0 │ ├── name_loc: (39,0)-(39,1) = "a" │ ├── value: │ │ @ IntegerNode (location: (39,4)-(39,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (39,2)-(39,3) = "=" ├── @ CallNode (location: (40,0)-(40,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -327,18 +345,21 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (40,4)-(40,24)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (40,6)-(40,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ MatchWriteNode (location: (40,6)-(40,22)) + │ │ ├── flags: newline │ │ ├── call: │ │ │ @ CallNode (location: (40,6)-(40,22)) │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ RegularExpressionNode (location: (40,6)-(40,14)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (40,6)-(40,7) = "/" │ │ │ │ ├── content_loc: (40,7)-(40,13) = "(?<a>)" │ │ │ │ ├── closing_loc: (40,13)-(40,14) = "/" @@ -365,17 +386,19 @@ │ │ │ └── block: ∅ │ │ └── targets: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (40,10)-(40,11)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 1 │ ├── opening_loc: (40,4)-(40,5) = "{" │ └── closing_loc: (40,23)-(40,24) = "}" ├── @ MatchWriteNode (location: (42,0)-(42,16)) + │ ├── flags: newline │ ├── call: │ │ @ CallNode (location: (42,0)-(42,16)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ RegularExpressionNode (location: (42,0)-(42,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (42,0)-(42,1) = "/" │ │ │ ├── content_loc: (42,1)-(42,9) = "(?<foo>)" │ │ │ ├── closing_loc: (42,9)-(42,10) = "/" @@ -398,13 +421,14 @@ │ │ └── block: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (42,4)-(42,7)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 ├── @ CallNode (location: (43,0)-(43,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RegularExpressionNode (location: (43,0)-(43,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (43,0)-(43,1) = "/" │ │ ├── content_loc: (43,1)-(43,9) = "(?<Foo>)" │ │ ├── closing_loc: (43,9)-(43,10) = "/" @@ -426,10 +450,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RegularExpressionNode (location: (45,0)-(45,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (45,0)-(45,1) = "/" │ │ ├── content_loc: (45,1)-(45,9) = "(?<nil>)" │ │ ├── closing_loc: (45,9)-(45,10) = "/" @@ -451,11 +475,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ DefNode (location: (46,0)-(46,32)) + ├── flags: newline ├── name: :foo ├── name_loc: (46,4)-(46,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (46,8)-(46,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -469,14 +495,16 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (46,16)-(46,32)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ MatchWriteNode (location: (46,16)-(46,32)) + │ ├── flags: newline │ ├── call: │ │ @ CallNode (location: (46,16)-(46,32)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ RegularExpressionNode (location: (46,16)-(46,26)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (46,16)-(46,17) = "/" │ │ │ ├── content_loc: (46,17)-(46,25) = "(?<nil>)" │ │ │ ├── closing_loc: (46,25)-(46,26) = "/" @@ -499,6 +527,7 @@ │ │ └── block: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (46,20)-(46,23)) + │ ├── flags: ∅ │ ├── name: :nil │ └── depth: 0 ├── locals: [:nil] diff --git a/test/prism/snapshots/regex_char_width.txt b/test/prism/snapshots/regex_char_width.txt index 6bf2169b2f..664e4e8850 100644 --- a/test/prism/snapshots/regex_char_width.txt +++ b/test/prism/snapshots/regex_char_width.txt @@ -1,15 +1,18 @@ @ ProgramNode (location: (2,0)-(3,6)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (2,0)-(3,6)) + ├── flags: ∅ └── body: (length: 2) ├── @ MatchWriteNode (location: (2,0)-(2,36)) + │ ├── flags: newline │ ├── call: │ │ @ CallNode (location: (2,0)-(2,36)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ RegularExpressionNode (location: (2,0)-(2,22)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (2,0)-(2,1) = "/" │ │ │ ├── content_loc: (2,1)-(2,21) = "\x{E285}\xA7(?<a>.)\x{E285}\xA9(?<b>.)" │ │ │ ├── closing_loc: (2,21)-(2,22) = "/" @@ -32,18 +35,22 @@ │ │ └── block: ∅ │ └── targets: (length: 2) │ ├── @ LocalVariableTargetNode (location: (2,7)-(2,8)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (2,17)-(2,18)) + │ ├── flags: ∅ │ ├── name: :b │ └── depth: 0 └── @ ArrayNode (location: (3,0)-(3,6)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 2) │ ├── @ LocalVariableReadNode (location: (3,1)-(3,2)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ LocalVariableReadNode (location: (3,4)-(3,5)) + │ ├── flags: ∅ │ ├── name: :b │ └── depth: 0 ├── opening_loc: (3,0)-(3,1) = "[" diff --git a/test/prism/snapshots/repeat_parameters.txt b/test/prism/snapshots/repeat_parameters.txt index fd98294ce6..1dbf120e9c 100644 --- a/test/prism/snapshots/repeat_parameters.txt +++ b/test/prism/snapshots/repeat_parameters.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(38,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(38,3)) + ├── flags: ∅ └── body: (length: 13) ├── @ DefNode (location: (1,0)-(2,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,8)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9)) │ │ │ │ ├── flags: ∅ @@ -31,11 +35,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (2,0)-(2,3) = "end" ├── @ DefNode (location: (4,0)-(5,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (4,4)-(4,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (4,8)-(4,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 3) │ │ │ ├── @ RequiredParameterNode (location: (4,8)-(4,9)) │ │ │ │ ├── flags: ∅ @@ -61,11 +67,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ DefNode (location: (7,0)-(8,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (7,4)-(7,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (7,8)-(7,19)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 4) │ │ │ ├── @ RequiredParameterNode (location: (7,8)-(7,9)) │ │ │ │ ├── flags: ∅ @@ -94,11 +102,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (8,0)-(8,3) = "end" ├── @ DefNode (location: (10,0)-(11,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (10,4)-(10,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (10,8)-(10,23)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 5) │ │ │ ├── @ RequiredParameterNode (location: (10,8)-(10,9)) │ │ │ │ ├── flags: ∅ @@ -130,22 +140,26 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ DefNode (location: (13,0)-(14,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (13,4)-(13,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (13,8)-(13,35)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 3) │ │ │ ├── @ RequiredParameterNode (location: (13,8)-(13,9)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ ├── @ MultiTargetNode (location: (13,11)-(13,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (13,12)-(13,13)) │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :b │ │ │ │ ├── rest: │ │ │ │ │ @ SplatNode (location: (13,15)-(13,18)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── operator_loc: (13,15)-(13,16) = "*" │ │ │ │ │ └── expression: │ │ │ │ │ @ RequiredParameterNode (location: (13,16)-(13,18)) @@ -158,12 +172,14 @@ │ │ │ │ ├── lparen_loc: (13,11)-(13,12) = "(" │ │ │ │ └── rparen_loc: (13,21)-(13,22) = ")" │ │ │ └── @ MultiTargetNode (location: (13,24)-(13,35)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (13,25)-(13,26)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :e │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (13,28)-(13,31)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (13,28)-(13,29) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (13,29)-(13,31)) @@ -190,11 +206,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (14,0)-(14,3) = "end" ├── @ DefNode (location: (16,0)-(17,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (16,4)-(16,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (16,8)-(16,20)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 4) │ │ │ ├── @ RequiredParameterNode (location: (16,8)-(16,10)) │ │ │ │ ├── flags: ∅ @@ -223,19 +241,23 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (17,0)-(17,3) = "end" ├── @ DefNode (location: (19,0)-(20,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (19,4)-(19,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (19,8)-(19,32)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ MultiTargetNode (location: (19,8)-(19,19)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (19,9)-(19,10)) │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :a │ │ │ │ ├── rest: │ │ │ │ │ @ SplatNode (location: (19,12)-(19,15)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── operator_loc: (19,12)-(19,13) = "*" │ │ │ │ │ └── expression: │ │ │ │ │ @ RequiredParameterNode (location: (19,13)-(19,15)) @@ -248,12 +270,14 @@ │ │ │ │ ├── lparen_loc: (19,8)-(19,9) = "(" │ │ │ │ └── rparen_loc: (19,18)-(19,19) = ")" │ │ │ └── @ MultiTargetNode (location: (19,21)-(19,32)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (19,22)-(19,23)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :d │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (19,25)-(19,28)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (19,25)-(19,26) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (19,26)-(19,28)) @@ -280,11 +304,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (20,0)-(20,3) = "end" ├── @ DefNode (location: (22,0)-(23,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (22,4)-(22,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (22,8)-(22,22)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 2) │ │ │ ├── @ OptionalParameterNode (location: (22,8)-(22,14)) @@ -294,7 +320,7 @@ │ │ │ │ ├── operator_loc: (22,11)-(22,12) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (22,13)-(22,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ OptionalParameterNode (location: (22,16)-(22,22)) │ │ │ ├── flags: repeated_parameter @@ -303,7 +329,7 @@ │ │ │ ├── operator_loc: (22,19)-(22,20) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (22,21)-(22,22)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -319,11 +345,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (23,0)-(23,3) = "end" ├── @ DefNode (location: (25,0)-(26,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (25,4)-(25,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (25,8)-(25,16)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -348,11 +376,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (26,0)-(26,3) = "end" ├── @ DefNode (location: (28,0)-(29,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (28,4)-(28,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (28,8)-(28,20)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -364,7 +394,7 @@ │ │ │ │ ├── name_loc: (28,8)-(28,11) = "_a:" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (28,12)-(28,13)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ OptionalKeywordParameterNode (location: (28,15)-(28,20)) │ │ │ ├── flags: repeated_parameter @@ -372,7 +402,7 @@ │ │ │ ├── name_loc: (28,15)-(28,18) = "_a:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (28,19)-(28,20)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ @@ -385,11 +415,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (29,0)-(29,3) = "end" ├── @ DefNode (location: (31,0)-(32,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (31,4)-(31,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (31,8)-(31,16)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (31,8)-(31,10)) │ │ │ ├── flags: ∅ @@ -414,11 +446,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (32,0)-(32,3) = "end" ├── @ DefNode (location: (34,0)-(35,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (34,4)-(34,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (34,8)-(34,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (34,8)-(34,10)) │ │ │ ├── flags: ∅ @@ -443,11 +477,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (35,0)-(35,3) = "end" └── @ DefNode (location: (37,0)-(38,3)) + ├── flags: newline ├── name: :foo ├── name_loc: (37,4)-(37,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (37,8)-(37,15)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (37,8)-(37,10)) │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/rescue.txt b/test/prism/snapshots/rescue.txt index 390b08ae0e..53a49fbb47 100644 --- a/test/prism/snapshots/rescue.txt +++ b/test/prism/snapshots/rescue.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(35,18)) +├── flags: ∅ ├── locals: [:a, :z] └── statements: @ StatementsNode (location: (1,0)-(35,18)) + ├── flags: ∅ └── body: (length: 14) ├── @ RescueModifierNode (location: (1,0)-(1,14)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -18,7 +21,9 @@ │ ├── keyword_loc: (1,4)-(1,10) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (1,11)-(1,14)) + │ └── flags: static_literal ├── @ RescueModifierNode (location: (3,0)-(4,3)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -33,8 +38,9 @@ │ ├── keyword_loc: (3,4)-(3,10) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (4,0)-(4,3)) + │ └── flags: static_literal ├── @ CallNode (location: (6,0)-(6,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -44,23 +50,28 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (6,4)-(6,24)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (6,6)-(6,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (6,6)-(6,22)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ BreakNode (location: (6,6)-(6,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── arguments: ∅ │ │ │ └── keyword_loc: (6,6)-(6,11) = "break" │ │ ├── keyword_loc: (6,12)-(6,18) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (6,19)-(6,22)) + │ │ └── flags: static_literal │ ├── opening_loc: (6,4)-(6,5) = "{" │ └── closing_loc: (6,23)-(6,24) = "}" ├── @ CallNode (location: (8,0)-(8,23)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -70,22 +81,28 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (8,4)-(8,23)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (8,6)-(8,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (8,6)-(8,21)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ NextNode (location: (8,6)-(8,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── arguments: ∅ │ │ │ └── keyword_loc: (8,6)-(8,10) = "next" │ │ ├── keyword_loc: (8,11)-(8,17) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (8,18)-(8,21)) + │ │ └── flags: static_literal │ ├── opening_loc: (8,4)-(8,5) = "{" │ └── closing_loc: (8,22)-(8,23) = "}" ├── @ RescueModifierNode (location: (10,0)-(10,17)) + │ ├── flags: newline │ ├── expression: │ │ @ ReturnNode (location: (10,0)-(10,6)) │ │ ├── flags: ∅ @@ -94,7 +111,9 @@ │ ├── keyword_loc: (10,7)-(10,13) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (10,14)-(10,17)) + │ └── flags: static_literal ├── @ RescueModifierNode (location: (12,0)-(12,19)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (12,0)-(12,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -109,14 +128,17 @@ │ ├── keyword_loc: (12,4)-(12,10) = "rescue" │ └── rescue_expression: │ @ OrNode (location: (12,11)-(12,19)) + │ ├── flags: ∅ │ ├── left: │ │ @ NilNode (location: (12,11)-(12,14)) + │ │ └── flags: static_literal │ ├── right: │ │ @ IntegerNode (location: (12,18)-(12,19)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (12,15)-(12,17) = "||" ├── @ RescueModifierNode (location: (14,0)-(14,22)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (14,0)-(14,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -131,34 +153,41 @@ │ ├── keyword_loc: (14,4)-(14,10) = "rescue" │ └── rescue_expression: │ @ IfNode (location: (14,11)-(14,22)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ NilNode (location: (14,11)-(14,14)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: (14,15)-(14,16) = "?" │ ├── statements: │ │ @ StatementsNode (location: (14,17)-(14,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (14,17)-(14,18)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── consequent: │ │ @ ElseNode (location: (14,19)-(14,22)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (14,19)-(14,20) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (14,21)-(14,22)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (14,21)-(14,22)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 2 │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ BeginNode (location: (16,0)-(16,24)) + │ ├── flags: newline │ ├── begin_keyword_loc: (16,0)-(16,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (16,7)-(16,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (16,7)-(16,8)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -169,9 +198,11 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (16,10)-(16,19)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (16,10)-(16,16) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ SplatNode (location: (16,17)-(16,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (16,17)-(16,18) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (16,18)-(16,19)) @@ -192,7 +223,7 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (16,21)-(16,24) = "end" ├── @ CallNode (location: (18,0)-(20,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -202,11 +233,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (18,4)-(20,3)) + │ ├── flags: ∅ │ ├── locals: [:x] │ ├── parameters: │ │ @ BlockParametersNode (location: (18,7)-(18,10)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (18,8)-(18,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9)) │ │ │ │ ├── flags: ∅ @@ -222,8 +256,10 @@ │ │ └── closing_loc: (18,9)-(18,10) = "|" │ ├── body: │ │ @ StatementsNode (location: (19,2)-(19,40)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (19,2)-(19,40)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ CallNode (location: (19,2)-(19,8)) │ │ │ ├── flags: ignore_visibility @@ -285,14 +321,17 @@ │ ├── opening_loc: (18,4)-(18,6) = "do" │ └── closing_loc: (20,0)-(20,3) = "end" ├── @ IfNode (location: (22,0)-(24,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (22,0)-(22,2) = "if" │ ├── predicate: │ │ @ LocalVariableWriteNode (location: (22,3)-(22,21)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ ├── depth: 0 │ │ ├── name_loc: (22,3)-(22,4) = "a" │ │ ├── value: │ │ │ @ RescueModifierNode (location: (22,7)-(22,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── expression: │ │ │ │ @ CallNode (location: (22,7)-(22,10)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -307,13 +346,15 @@ │ │ │ ├── keyword_loc: (22,11)-(22,17) = "rescue" │ │ │ └── rescue_expression: │ │ │ @ NilNode (location: (22,18)-(22,21)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: (22,5)-(22,6) = "=" │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (23,2)-(23,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (23,2)-(23,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -325,14 +366,17 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (24,0)-(24,3) = "end" ├── @ DefNode (location: (26,0)-(26,44)) + │ ├── flags: newline │ ├── name: :some_method │ ├── name_loc: (26,4)-(26,15) = "some_method" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (26,18)-(26,44)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (26,18)-(26,44)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ CallNode (location: (26,18)-(26,33)) │ │ │ ├── flags: ignore_visibility @@ -346,13 +390,14 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (26,31)-(26,33)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ ├── keyword_loc: (26,34)-(26,40) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (26,41)-(26,44)) + │ │ └── flags: static_literal │ ├── locals: [] │ ├── def_keyword_loc: (26,0)-(26,3) = "def" │ ├── operator_loc: ∅ @@ -361,18 +406,21 @@ │ ├── equal_loc: (26,16)-(26,17) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (28,0)-(31,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (28,4)-(28,5) = "a" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (28,0)-(31,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (29,2)-(29,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (29,2)-(29,6)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -386,15 +434,17 @@ │ │ │ │ ├── flags: symbol_keys │ │ │ │ └── elements: (length: 1) │ │ │ │ └── @ AssocNode (location: (29,4)-(29,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (29,4)-(29,6)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (29,4)-(29,5) = "b" │ │ │ │ │ ├── closing_loc: (29,5)-(29,6) = ":" │ │ │ │ │ └── unescaped: "b" │ │ │ │ ├── value: │ │ │ │ │ @ ImplicitNode (location: (29,4)-(29,6)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── value: │ │ │ │ │ @ CallNode (location: (29,4)-(29,6)) │ │ │ │ │ ├── flags: ignore_visibility @@ -411,6 +461,7 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (30,0)-(30,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (30,0)-(30,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -428,8 +479,10 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (31,0)-(31,3) = "end" ├── @ RescueModifierNode (location: (33,0)-(33,21)) + │ ├── flags: newline │ ├── expression: │ │ @ IfNode (location: (33,0)-(33,10)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (33,4)-(33,6) = "if" │ │ ├── predicate: │ │ │ @ CallNode (location: (33,7)-(33,10)) @@ -445,9 +498,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (33,0)-(33,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (33,0)-(33,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -471,11 +525,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ LocalVariableWriteNode (location: (35,0)-(35,18)) + ├── flags: newline ├── name: :z ├── depth: 0 ├── name_loc: (35,0)-(35,1) = "z" ├── value: │ @ RescueModifierNode (location: (35,4)-(35,18)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (35,4)-(35,7)) │ │ ├── flags: ignore_visibility diff --git a/test/prism/snapshots/return.txt b/test/prism/snapshots/return.txt index 0dd26281c1..8c01ee438c 100644 --- a/test/prism/snapshots/return.txt +++ b/test/prism/snapshots/return.txt @@ -1,165 +1,179 @@ @ ProgramNode (location: (1,0)-(23,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(23,9)) + ├── flags: ∅ └── body: (length: 10) ├── @ ReturnNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,6) = "return" │ └── arguments: ∅ ├── @ ReturnNode (location: (3,0)-(3,20)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (3,0)-(3,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (3,7)-(3,20)) │ ├── flags: ∅ │ └── arguments: (length: 3) │ ├── @ ParenthesesNode (location: (3,7)-(3,10)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (3,8)-(3,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (3,8)-(3,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: (3,7)-(3,8) = "(" │ │ └── closing_loc: (3,9)-(3,10) = ")" │ ├── @ ParenthesesNode (location: (3,12)-(3,15)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (3,13)-(3,14)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (3,13)-(3,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: (3,12)-(3,13) = "(" │ │ └── closing_loc: (3,14)-(3,15) = ")" │ └── @ ParenthesesNode (location: (3,17)-(3,20)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,18)-(3,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (3,18)-(3,19)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 3 │ ├── opening_loc: (3,17)-(3,18) = "(" │ └── closing_loc: (3,19)-(3,20) = ")" ├── @ ReturnNode (location: (5,0)-(5,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (5,0)-(5,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (5,7)-(5,9)) │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ SplatNode (location: (5,7)-(5,9)) + │ ├── flags: ∅ │ ├── operator_loc: (5,7)-(5,8) = "*" │ └── expression: │ @ IntegerNode (location: (5,8)-(5,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ ReturnNode (location: (7,0)-(7,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (7,0)-(7,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (7,7)-(7,8)) │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (7,7)-(7,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ ReturnNode (location: (9,0)-(10,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (9,0)-(9,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (9,7)-(10,1)) │ ├── flags: ∅ │ └── arguments: (length: 3) │ ├── @ IntegerNode (location: (9,7)-(9,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── @ IntegerNode (location: (9,10)-(9,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── @ IntegerNode (location: (10,0)-(10,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 3 ├── @ ReturnNode (location: (12,0)-(12,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (12,0)-(12,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (12,7)-(12,14)) │ ├── flags: ∅ │ └── arguments: (length: 3) │ ├── @ IntegerNode (location: (12,7)-(12,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── @ IntegerNode (location: (12,10)-(12,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── @ IntegerNode (location: (12,13)-(12,14)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 3 ├── @ ReturnNode (location: (14,0)-(14,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (14,0)-(14,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (14,7)-(14,16)) │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ArrayNode (location: (14,7)-(14,16)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 3) │ │ ├── @ IntegerNode (location: (14,8)-(14,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── @ IntegerNode (location: (14,11)-(14,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── @ IntegerNode (location: (14,14)-(14,15)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── opening_loc: (14,7)-(14,8) = "[" │ └── closing_loc: (14,15)-(14,16) = "]" ├── @ ReturnNode (location: (16,0)-(19,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (16,0)-(16,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (16,6)-(19,1)) │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (16,6)-(19,1)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (17,2)-(18,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ IntegerNode (location: (17,2)-(17,3)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (18,2)-(18,3)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (16,6)-(16,7) = "(" │ └── closing_loc: (19,0)-(19,1) = ")" ├── @ ReturnNode (location: (21,0)-(21,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (21,0)-(21,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (21,6)-(21,8)) │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (21,6)-(21,8)) + │ ├── flags: ∅ │ ├── body: ∅ │ ├── opening_loc: (21,6)-(21,7) = "(" │ └── closing_loc: (21,7)-(21,8) = ")" └── @ ReturnNode (location: (23,0)-(23,9)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (23,0)-(23,6) = "return" └── arguments: @ ArgumentsNode (location: (23,6)-(23,9)) ├── flags: ∅ └── arguments: (length: 1) └── @ ParenthesesNode (location: (23,6)-(23,9)) + ├── flags: ∅ ├── body: │ @ StatementsNode (location: (23,7)-(23,8)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (23,7)-(23,8)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── opening_loc: (23,6)-(23,7) = "(" └── closing_loc: (23,8)-(23,9) = ")" diff --git a/test/prism/snapshots/seattlerb/BEGIN.txt b/test/prism/snapshots/seattlerb/BEGIN.txt index 246f39cbba..a0d73a8039 100644 --- a/test/prism/snapshots/seattlerb/BEGIN.txt +++ b/test/prism/snapshots/seattlerb/BEGIN.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ PreExecutionNode (location: (1,0)-(1,12)) + ├── flags: newline ├── statements: │ @ StatementsNode (location: (1,8)-(1,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,8)-(1,10)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 42 ├── keyword_loc: (1,0)-(1,5) = "BEGIN" ├── opening_loc: (1,6)-(1,7) = "{" diff --git a/test/prism/snapshots/seattlerb/TestRubyParserShared.txt b/test/prism/snapshots/seattlerb/TestRubyParserShared.txt index fabc92e477..7a488a20aa 100644 --- a/test/prism/snapshots/seattlerb/TestRubyParserShared.txt +++ b/test/prism/snapshots/seattlerb/TestRubyParserShared.txt @@ -1,24 +1,26 @@ @ ProgramNode (location: (1,0)-(92,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(92,1)) + ├── flags: ∅ └── body: (length: 16) ├── @ ArrayNode (location: (1,0)-(4,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (1,0)-(1,3) = "%I[" │ └── closing_loc: (4,0)-(4,1) = "]" ├── @ ArrayNode (location: (6,0)-(9,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (7,0)-(7,5)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (7,0)-(7,5) = "line2" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "line2" │ │ └── @ SymbolNode (location: (8,0)-(8,5)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (8,0)-(8,5) = "line3" │ │ ├── closing_loc: ∅ @@ -26,12 +28,12 @@ │ ├── opening_loc: (6,0)-(6,3) = "%I[" │ └── closing_loc: (9,0)-(9,1) = "]" ├── @ ArrayNode (location: (11,0)-(14,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (11,0)-(11,3) = "%W[" │ └── closing_loc: (14,0)-(14,1) = "]" ├── @ ArrayNode (location: (16,0)-(19,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (17,0)-(17,5)) │ │ │ ├── flags: ∅ @@ -48,21 +50,21 @@ │ ├── opening_loc: (16,0)-(16,3) = "%W[" │ └── closing_loc: (19,0)-(19,1) = "]" ├── @ ArrayNode (location: (21,0)-(24,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (21,0)-(21,3) = "%i[" │ └── closing_loc: (24,0)-(24,1) = "]" ├── @ ArrayNode (location: (26,0)-(29,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (27,0)-(27,5)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (27,0)-(27,5) = "line2" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "line2" │ │ └── @ SymbolNode (location: (28,0)-(28,5)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (28,0)-(28,5) = "line3" │ │ ├── closing_loc: ∅ @@ -70,18 +72,18 @@ │ ├── opening_loc: (26,0)-(26,3) = "%i[" │ └── closing_loc: (29,0)-(29,1) = "]" ├── @ RegularExpressionNode (location: (31,0)-(34,1)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── 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" ├── @ ArrayNode (location: (36,0)-(39,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (36,0)-(36,3) = "%w[" │ └── closing_loc: (39,0)-(39,1) = "]" ├── @ ArrayNode (location: (41,0)-(44,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (42,0)-(42,5)) │ │ │ ├── flags: ∅ @@ -98,16 +100,16 @@ │ ├── opening_loc: (41,0)-(41,3) = "%w[" │ └── closing_loc: (44,0)-(44,1) = "]" ├── @ ArrayNode (location: (46,0)-(49,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (47,0)-(47,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (47,0)-(47,1) = ":" │ │ │ ├── value_loc: (47,1)-(47,6) = "line2" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "line2" │ │ └── @ SymbolNode (location: (48,0)-(48,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (48,0)-(48,1) = ":" │ │ ├── value_loc: (48,1)-(48,6) = "line3" │ │ ├── closing_loc: ∅ @@ -115,23 +117,29 @@ │ ├── opening_loc: (46,0)-(46,1) = "[" │ └── closing_loc: (49,0)-(49,1) = "]" ├── @ ClassNode (location: (51,0)-(56,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (51,0)-(51,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (51,6)-(51,7)) + │ │ ├── flags: ∅ │ │ └── name: :X │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ StatementsNode (location: (52,2)-(55,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ DefNode (location: (52,2)-(55,5)) + │ │ ├── flags: newline │ │ ├── name: :y │ │ ├── name_loc: (52,11)-(52,12) = "y" │ │ ├── receiver: │ │ │ @ SelfNode (location: (52,6)-(52,10)) + │ │ │ └── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (52,13)-(53,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (52,13)-(52,14)) │ │ │ │ │ ├── flags: ∅ @@ -147,11 +155,13 @@ │ │ │ └── block: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (54,4)-(54,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (54,4)-(54,9)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (54,4)-(54,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── call_operator_loc: ∅ @@ -163,6 +173,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (54,8)-(54,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :b │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: ∅ @@ -177,33 +188,40 @@ │ ├── end_keyword_loc: (56,0)-(56,3) = "end" │ └── name: :X ├── @ ClassNode (location: (59,0)-(63,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (59,0)-(59,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (59,6)-(59,7)) + │ │ ├── flags: ∅ │ │ └── name: :X │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ StatementsNode (location: (60,2)-(62,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ClassNode (location: (60,2)-(62,5)) + │ │ ├── flags: newline │ │ ├── locals: [] │ │ ├── class_keyword_loc: (60,2)-(60,7) = "class" │ │ ├── constant_path: │ │ │ @ ConstantReadNode (location: (60,8)-(60,9)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Y │ │ ├── inheritance_operator_loc: ∅ │ │ ├── superclass: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (61,4)-(61,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ ConstantWriteNode (location: (61,4)-(61,10)) + │ │ │ ├── flags: newline │ │ │ ├── name: :Z │ │ │ ├── name_loc: (61,4)-(61,5) = "Z" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (61,8)-(61,10)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ └── operator_loc: (61,6)-(61,7) = "=" │ │ ├── end_keyword_loc: (62,2)-(62,5) = "end" @@ -211,22 +229,27 @@ │ ├── end_keyword_loc: (63,0)-(63,3) = "end" │ └── name: :X ├── @ ClassNode (location: (66,0)-(71,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (66,0)-(66,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (66,6)-(66,7)) + │ │ ├── flags: ∅ │ │ └── name: :X │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ StatementsNode (location: (67,2)-(70,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ DefNode (location: (67,2)-(70,5)) + │ │ ├── flags: newline │ │ ├── name: :y │ │ ├── name_loc: (67,6)-(67,7) = "y" │ │ ├── receiver: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (67,8)-(68,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (67,8)-(67,9)) │ │ │ │ │ ├── flags: ∅ @@ -242,11 +265,13 @@ │ │ │ └── block: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (69,4)-(69,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (69,4)-(69,9)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (69,4)-(69,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── call_operator_loc: ∅ @@ -258,6 +283,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (69,8)-(69,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :b │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: ∅ @@ -272,29 +298,33 @@ │ ├── end_keyword_loc: (71,0)-(71,3) = "end" │ └── name: :X ├── @ ModuleNode (location: (74,0)-(79,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (74,0)-(74,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (74,7)-(74,8)) + │ │ ├── flags: ∅ │ │ └── name: :X │ ├── body: │ │ @ StatementsNode (location: (75,2)-(78,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ConstantWriteNode (location: (75,2)-(78,3)) + │ │ ├── flags: newline │ │ ├── name: :X │ │ ├── name_loc: (75,2)-(75,3) = "X" │ │ ├── value: │ │ │ @ ArrayNode (location: (75,6)-(78,3)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ SymbolNode (location: (76,4)-(76,10)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (76,4)-(76,5) = ":" │ │ │ │ │ ├── value_loc: (76,5)-(76,10) = "line3" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "line3" │ │ │ │ └── @ SymbolNode (location: (77,4)-(77,10)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (77,4)-(77,5) = ":" │ │ │ │ ├── value_loc: (77,5)-(77,10) = "line4" │ │ │ │ ├── closing_loc: ∅ @@ -305,29 +335,36 @@ │ ├── end_keyword_loc: (79,0)-(79,3) = "end" │ └── name: :X ├── @ ModuleNode (location: (82,0)-(86,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (82,0)-(82,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (82,7)-(82,8)) + │ │ ├── flags: ∅ │ │ └── name: :X │ ├── body: │ │ @ StatementsNode (location: (83,2)-(85,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ModuleNode (location: (83,2)-(85,5)) + │ │ ├── flags: newline │ │ ├── locals: [] │ │ ├── module_keyword_loc: (83,2)-(83,8) = "module" │ │ ├── constant_path: │ │ │ @ ConstantReadNode (location: (83,9)-(83,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Y │ │ ├── body: │ │ │ @ StatementsNode (location: (84,4)-(84,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ ConstantWriteNode (location: (84,4)-(84,10)) + │ │ │ ├── flags: newline │ │ │ ├── name: :Z │ │ │ ├── name_loc: (84,4)-(84,5) = "Z" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (84,8)-(84,10)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ └── operator_loc: (84,6)-(84,7) = "=" │ │ ├── end_keyword_loc: (85,2)-(85,5) = "end" @@ -335,7 +372,7 @@ │ ├── end_keyword_loc: (86,0)-(86,3) = "end" │ └── name: :X └── @ CallNode (location: (89,0)-(92,1)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -346,13 +383,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ SymbolNode (location: (90,0)-(90,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (90,0)-(90,1) = ":" │ │ ├── value_loc: (90,1)-(90,6) = "line2" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "line2" │ └── @ SymbolNode (location: (91,0)-(91,6)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (91,0)-(91,1) = ":" │ ├── value_loc: (91,1)-(91,6) = "line3" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/__ENCODING__.txt b/test/prism/snapshots/seattlerb/__ENCODING__.txt index 1b223bd8fe..f04dfb6cb8 100644 --- a/test/prism/snapshots/seattlerb/__ENCODING__.txt +++ b/test/prism/snapshots/seattlerb/__ENCODING__.txt @@ -1,6 +1,9 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ SourceEncodingNode (location: (1,0)-(1,12)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/seattlerb/alias_gvar_backref.txt b/test/prism/snapshots/seattlerb/alias_gvar_backref.txt index a2586423d7..47b0e80b64 100644 --- a/test/prism/snapshots/seattlerb/alias_gvar_backref.txt +++ b/test/prism/snapshots/seattlerb/alias_gvar_backref.txt @@ -1,13 +1,18 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ AliasGlobalVariableNode (location: (1,0)-(1,15)) + ├── flags: newline ├── new_name: │ @ GlobalVariableReadNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ └── name: :$MATCH ├── old_name: │ @ BackReferenceReadNode (location: (1,13)-(1,15)) + │ ├── flags: ∅ │ └── name: :$& └── keyword_loc: (1,0)-(1,5) = "alias" diff --git a/test/prism/snapshots/seattlerb/alias_resword.txt b/test/prism/snapshots/seattlerb/alias_resword.txt index 99ed696c68..44a4727283 100644 --- a/test/prism/snapshots/seattlerb/alias_resword.txt +++ b/test/prism/snapshots/seattlerb/alias_resword.txt @@ -1,19 +1,22 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ AliasMethodNode (location: (1,0)-(1,12)) + ├── flags: newline ├── new_name: │ @ SymbolNode (location: (1,6)-(1,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (1,6)-(1,8) = "in" │ ├── closing_loc: ∅ │ └── unescaped: "in" ├── old_name: │ @ SymbolNode (location: (1,9)-(1,12)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (1,9)-(1,12) = "out" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/and_multi.txt b/test/prism/snapshots/seattlerb/and_multi.txt index b60b131fd2..f98ad67e10 100644 --- a/test/prism/snapshots/seattlerb/and_multi.txt +++ b/test/prism/snapshots/seattlerb/and_multi.txt @@ -1,18 +1,24 @@ @ ProgramNode (location: (1,0)-(3,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,4)) + ├── flags: ∅ └── body: (length: 1) └── @ AndNode (location: (1,0)-(3,4)) + ├── flags: newline ├── left: │ @ AndNode (location: (1,0)-(2,9)) + │ ├── flags: ∅ │ ├── left: │ │ @ TrueNode (location: (1,0)-(1,4)) + │ │ └── flags: static_literal │ ├── right: │ │ @ CallNode (location: (2,0)-(2,9)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ FalseNode (location: (2,4)-(2,9)) + │ │ │ └── flags: static_literal │ │ ├── call_operator_loc: ∅ │ │ ├── name: :! │ │ ├── message_loc: (2,0)-(2,3) = "not" @@ -23,4 +29,5 @@ │ └── operator_loc: (1,5)-(1,8) = "and" ├── right: │ @ TrueNode (location: (3,0)-(3,4)) + │ └── flags: static_literal └── operator_loc: (2,10)-(2,13) = "and" diff --git a/test/prism/snapshots/seattlerb/aref_args_assocs.txt b/test/prism/snapshots/seattlerb/aref_args_assocs.txt index b729186dc5..cbd0792037 100644 --- a/test/prism/snapshots/seattlerb/aref_args_assocs.txt +++ b/test/prism/snapshots/seattlerb/aref_args_assocs.txt @@ -1,22 +1,25 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 1) │ └── @ KeywordHashNode (location: (1,1)-(1,7)) │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,1)-(1,7)) + │ ├── flags: static_literal │ ├── key: │ │ @ IntegerNode (location: (1,1)-(1,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── value: │ │ @ IntegerNode (location: (1,6)-(1,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (1,3)-(1,5) = "=>" ├── opening_loc: (1,0)-(1,1) = "[" diff --git a/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt b/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt index 0e9454d780..7302f728e3 100644 --- a/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt +++ b/test/prism/snapshots/seattlerb/aref_args_lit_assocs.txt @@ -1,25 +1,28 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,11)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,1)-(1,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ KeywordHashNode (location: (1,4)-(1,10)) │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,4)-(1,10)) + │ ├── flags: static_literal │ ├── key: │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── value: │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── operator_loc: (1,6)-(1,8) = "=>" ├── opening_loc: (1,0)-(1,1) = "[" diff --git a/test/prism/snapshots/seattlerb/args_kw_block.txt b/test/prism/snapshots/seattlerb/args_kw_block.txt index 1ad933c74e..88081dfa14 100644 --- a/test/prism/snapshots/seattlerb/args_kw_block.txt +++ b/test/prism/snapshots/seattlerb/args_kw_block.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,20)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,14)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -20,7 +24,7 @@ │ │ ├── name_loc: (1,6)-(1,8) = "a:" │ │ └── value: │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_rest: ∅ │ └── block: diff --git a/test/prism/snapshots/seattlerb/array_line_breaks.txt b/test/prism/snapshots/seattlerb/array_line_breaks.txt index 880fedf933..a2d21e90ad 100644 --- a/test/prism/snapshots/seattlerb/array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/array_line_breaks.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(3,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (2,0)-(2,3)) │ │ │ ├── flags: ∅ @@ -21,5 +23,5 @@ │ ├── opening_loc: (1,0)-(1,1) = "[" │ └── closing_loc: (3,3)-(3,4) = "]" └── @ IntegerNode (location: (4,0)-(4,1)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt b/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt index d46a181fc7..2de5a054a6 100644 --- a/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt +++ b/test/prism/snapshots/seattlerb/array_lits_trailing_calls.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(3,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ArrayNode (location: (1,0)-(1,4)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 0) │ │ ├── opening_loc: (1,0)-(1,3) = "%w[" │ │ └── closing_loc: (1,3)-(1,4) = "]" @@ -19,10 +21,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,4)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ ArrayNode (location: (3,0)-(3,2)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (3,0)-(3,1) = "[" │ └── closing_loc: (3,1)-(3,2) = "]" diff --git a/test/prism/snapshots/seattlerb/assoc__bare.txt b/test/prism/snapshots/seattlerb/assoc__bare.txt index 28e4f713c5..530360ef66 100644 --- a/test/prism/snapshots/seattlerb/assoc__bare.txt +++ b/test/prism/snapshots/seattlerb/assoc__bare.txt @@ -1,21 +1,26 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ HashNode (location: (1,0)-(1,6)) + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "{" ├── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,4)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (1,2)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,2)-(1,3) = "y" │ │ ├── closing_loc: (1,3)-(1,4) = ":" │ │ └── unescaped: "y" │ ├── value: │ │ @ ImplicitNode (location: (1,2)-(1,4)) + │ │ ├── flags: ∅ │ │ └── value: │ │ @ CallNode (location: (1,2)-(1,4)) │ │ ├── flags: ignore_visibility diff --git a/test/prism/snapshots/seattlerb/assoc_label.txt b/test/prism/snapshots/seattlerb/assoc_label.txt index 70490c0da4..91b94bbc1c 100644 --- a/test/prism/snapshots/seattlerb/assoc_label.txt +++ b/test/prism/snapshots/seattlerb/assoc_label.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -18,16 +20,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,5)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,2)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── 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 + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: ∅ ├── closing_loc: (1,5)-(1,6) = ")" diff --git a/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt b/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt index 589433eda8..67802fc8a4 100644 --- a/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt +++ b/test/prism/snapshots/seattlerb/attr_asgn_colon_id.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ └── name: :A ├── call_operator_loc: (1,1)-(1,3) = "::" ├── name: :b= @@ -17,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt b/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt index 9b04ae9656..43853b4ef9 100644 --- a/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt +++ b/test/prism/snapshots/seattlerb/attrasgn_array_arg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,18 +27,18 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ ArrayNode (location: (1,2)-(1,8)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (1,3)-(1,4)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: (1,2)-(1,3) = "[" │ │ └── closing_loc: (1,7)-(1,8) = "]" │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 3 ├── closing_loc: (1,8)-(1,9) = "]" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt b/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt index 39544e98da..5729407edc 100644 --- a/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt +++ b/test/prism/snapshots/seattlerb/attrasgn_array_lhs.txt @@ -1,25 +1,27 @@ @ ProgramNode (location: (1,0)-(1,42)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,42)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,42)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ ArrayNode (location: (1,0)-(1,12)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 4) │ │ ├── @ IntegerNode (location: (1,1)-(1,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 4 │ ├── opening_loc: (1,0)-(1,1) = "[" │ └── closing_loc: (1,11)-(1,12) = "]" diff --git a/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt b/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt index d4c4fe1070..2c06df2609 100644 --- a/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt +++ b/test/prism/snapshots/seattlerb/attrasgn_primary_dot_constant.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,7 +27,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt b/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt index 67c8be034e..8c6a163c48 100644 --- a/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt +++ b/test/prism/snapshots/seattlerb/backticks_interpolation_line.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -15,12 +17,15 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ InterpolatedXStringNode (location: (1,2)-(1,8)) + │ ├── flags: ∅ │ ├── opening_loc: (1,2)-(1,3) = "`" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/bang_eq.txt b/test/prism/snapshots/seattlerb/bang_eq.txt index ec3dd888b2..6bbd4a6ea2 100644 --- a/test/prism/snapshots/seattlerb/bang_eq.txt +++ b/test/prism/snapshots/seattlerb/bang_eq.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :!= @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bdot2.txt b/test/prism/snapshots/seattlerb/bdot2.txt index d4fb86fbe6..b1c05c0fc4 100644 --- a/test/prism/snapshots/seattlerb/bdot2.txt +++ b/test/prism/snapshots/seattlerb/bdot2.txt @@ -1,18 +1,20 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(1,4)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── left: ∅ │ ├── right: │ │ @ IntegerNode (location: (1,2)-(1,4)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 10 │ └── operator_loc: (1,0)-(1,2) = ".." ├── @ RangeNode (location: (2,2)-(2,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── left: ∅ │ ├── right: │ │ @ CallNode (location: (2,4)-(2,5)) @@ -27,7 +29,7 @@ │ │ └── block: ∅ │ └── operator_loc: (2,2)-(2,4) = ".." └── @ CallNode (location: (3,2)-(3,3)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/bdot3.txt b/test/prism/snapshots/seattlerb/bdot3.txt index 0c960f0458..0b35268f19 100644 --- a/test/prism/snapshots/seattlerb/bdot3.txt +++ b/test/prism/snapshots/seattlerb/bdot3.txt @@ -1,18 +1,20 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(1,5)) - │ ├── flags: exclude_end + │ ├── flags: newline, static_literal, exclude_end │ ├── left: ∅ │ ├── right: │ │ @ IntegerNode (location: (1,3)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 10 │ └── operator_loc: (1,0)-(1,3) = "..." ├── @ RangeNode (location: (2,2)-(2,6)) - │ ├── flags: exclude_end + │ ├── flags: newline, exclude_end │ ├── left: ∅ │ ├── right: │ │ @ CallNode (location: (2,5)-(2,6)) @@ -27,7 +29,7 @@ │ │ └── block: ∅ │ └── operator_loc: (2,2)-(2,5) = "..." └── @ CallNode (location: (3,2)-(3,3)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/begin_ensure_no_bodies.txt b/test/prism/snapshots/seattlerb/begin_ensure_no_bodies.txt index e1698d0bae..6ebcc2e052 100644 --- a/test/prism/snapshots/seattlerb/begin_ensure_no_bodies.txt +++ b/test/prism/snapshots/seattlerb/begin_ensure_no_bodies.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(3,3)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: ∅ ├── rescue_clause: ∅ ├── else_clause: ∅ ├── ensure_clause: │ @ EnsureNode (location: (2,0)-(3,3)) + │ ├── flags: ∅ │ ├── ensure_keyword_loc: (2,0)-(2,6) = "ensure" │ ├── statements: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" diff --git a/test/prism/snapshots/seattlerb/begin_rescue_else_ensure_bodies.txt b/test/prism/snapshots/seattlerb/begin_rescue_else_ensure_bodies.txt index 6603e5c894..61a62d311e 100644 --- a/test/prism/snapshots/seattlerb/begin_rescue_else_ensure_bodies.txt +++ b/test/prism/snapshots/seattlerb/begin_rescue_else_ensure_bodies.txt @@ -1,47 +1,57 @@ @ ProgramNode (location: (1,0)-(9,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(9,3)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(9,3)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (2,2)-(2,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (2,2)-(2,3)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── rescue_clause: │ @ RescueNode (location: (3,0)-(4,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (4,2)-(4,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (4,2)-(4,3)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 2 │ └── consequent: ∅ ├── else_clause: │ @ ElseNode (location: (5,0)-(7,6)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (5,0)-(5,4) = "else" │ ├── statements: │ │ @ StatementsNode (location: (6,2)-(6,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (6,2)-(6,3)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 3 │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" ├── ensure_clause: │ @ EnsureNode (location: (7,0)-(9,3)) + │ ├── flags: ∅ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure" │ ├── statements: │ │ @ StatementsNode (location: (8,2)-(8,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (8,2)-(8,3)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 4 │ └── end_keyword_loc: (9,0)-(9,3) = "end" └── end_keyword_loc: (9,0)-(9,3) = "end" diff --git a/test/prism/snapshots/seattlerb/begin_rescue_else_ensure_no_bodies.txt b/test/prism/snapshots/seattlerb/begin_rescue_else_ensure_no_bodies.txt index 02e1f097ac..3353a41484 100644 --- a/test/prism/snapshots/seattlerb/begin_rescue_else_ensure_no_bodies.txt +++ b/test/prism/snapshots/seattlerb/begin_rescue_else_ensure_no_bodies.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(9,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(9,3)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(9,3)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: ∅ ├── rescue_clause: │ @ RescueNode (location: (3,0)-(3,6)) + │ ├── flags: ∅ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ @@ -16,11 +20,13 @@ │ └── consequent: ∅ ├── else_clause: │ @ ElseNode (location: (5,0)-(7,6)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (5,0)-(5,4) = "else" │ ├── statements: ∅ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" ├── ensure_clause: │ @ EnsureNode (location: (7,0)-(9,3)) + │ ├── flags: ∅ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure" │ ├── statements: ∅ │ └── end_keyword_loc: (9,0)-(9,3) = "end" diff --git a/test/prism/snapshots/seattlerb/begin_rescue_ensure_no_bodies.txt b/test/prism/snapshots/seattlerb/begin_rescue_ensure_no_bodies.txt index b36fe5c1fe..e84fc70650 100644 --- a/test/prism/snapshots/seattlerb/begin_rescue_ensure_no_bodies.txt +++ b/test/prism/snapshots/seattlerb/begin_rescue_ensure_no_bodies.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(4,3)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: ∅ ├── rescue_clause: │ @ RescueNode (location: (2,0)-(2,6)) + │ ├── flags: ∅ │ ├── keyword_loc: (2,0)-(2,6) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ @@ -17,6 +21,7 @@ ├── else_clause: ∅ ├── ensure_clause: │ @ EnsureNode (location: (3,0)-(4,3)) + │ ├── flags: ∅ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure" │ ├── statements: ∅ │ └── end_keyword_loc: (4,0)-(4,3) = "end" diff --git a/test/prism/snapshots/seattlerb/block_arg__bare.txt b/test/prism/snapshots/seattlerb/block_arg__bare.txt index 165c2980be..ceafdcebbc 100644 --- a/test/prism/snapshots/seattlerb/block_arg__bare.txt +++ b/test/prism/snapshots/seattlerb/block_arg__bare.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,13)) + ├── flags: newline ├── name: :x ├── name_loc: (1,4)-(1,5) = "x" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt b/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt index 392de8559b..20756c8378 100644 --- a/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/block_arg_kwsplat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,11)) + ├── flags: ∅ ├── locals: [:b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,9)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt b/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt index ee9644d59d..dd89df907d 100644 --- a/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt +++ b/test/prism/snapshots/seattlerb/block_arg_opt_arg_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,21)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,21)) + ├── flags: ∅ ├── locals: [:b, :c, :d, :e] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,9)-(1,10) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 1) diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt b/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt index 799bd21057..cefc1a8515 100644 --- a/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt +++ b/test/prism/snapshots/seattlerb/block_arg_opt_splat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,20)) + ├── flags: ∅ ├── locals: [:b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,18)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,15)-(1,17)) diff --git a/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt b/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt index b5df136a62..bf66e376fd 100644 --- a/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt +++ b/test/prism/snapshots/seattlerb/block_arg_opt_splat_arg_block_omfg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,25)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,25)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,25)) + ├── flags: ∅ ├── locals: [:b, :c, :d, :e, :f] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,23)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,22)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,9)-(1,10) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) diff --git a/test/prism/snapshots/seattlerb/block_arg_optional.txt b/test/prism/snapshots/seattlerb/block_arg_optional.txt index 8a850e9a21..5fecfc31ab 100644 --- a/test/prism/snapshots/seattlerb/block_arg_optional.txt +++ b/test/prism/snapshots/seattlerb/block_arg_optional.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,13)) + ├── flags: ∅ ├── locals: [:b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) diff --git a/test/prism/snapshots/seattlerb/block_arg_scope.txt b/test/prism/snapshots/seattlerb/block_arg_scope.txt index b99cc5e45c..e90d6445b2 100644 --- a/test/prism/snapshots/seattlerb/block_arg_scope.txt +++ b/test/prism/snapshots/seattlerb/block_arg_scope.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,12)) + ├── flags: ∅ ├── locals: [:b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,10)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_scope2.txt b/test/prism/snapshots/seattlerb/block_arg_scope2.txt index 98b3a7da3a..c9f7242d8a 100644 --- a/test/prism/snapshots/seattlerb/block_arg_scope2.txt +++ b/test/prism/snapshots/seattlerb/block_arg_scope2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,14)) + ├── flags: ∅ ├── locals: [:b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,3)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,4)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt index fd5813c983..6ae1b1dade 100644 --- a/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/block_arg_splat_arg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,16)) + ├── flags: ∅ ├── locals: [:b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,14)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_args_kwargs.txt b/test/prism/snapshots/seattlerb/block_args_kwargs.txt index 0975ce3367..45876c6dc1 100644 --- a/test/prism/snapshots/seattlerb/block_args_kwargs.txt +++ b/test/prism/snapshots/seattlerb/block_args_kwargs.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,23)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,23)) + ├── flags: ∅ ├── locals: [:kwargs] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,14)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -36,8 +41,10 @@ │ └── closing_loc: (1,13)-(1,14) = "|" ├── body: │ @ StatementsNode (location: (1,15)-(1,21)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (1,15)-(1,21)) + │ ├── flags: newline │ ├── name: :kwargs │ └── depth: 0 ├── opening_loc: (1,2)-(1,3) = "{" diff --git a/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt b/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt index d47349defb..298bc26ce0 100644 --- a/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt +++ b/test/prism/snapshots/seattlerb/block_args_no_kwargs.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,13)) + ├── flags: ∅ ├── locals: [] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -26,6 +31,7 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ NoKeywordsParameterNode (location: (1,5)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (1,5)-(1,7) = "**" │ │ │ └── keyword_loc: (1,7)-(1,10) = "nil" │ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/block_args_opt1.txt b/test/prism/snapshots/seattlerb/block_args_opt1.txt index 1f21c0a477..d23bd5edce 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt1.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt1.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,24)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,24)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -43,14 +48,17 @@ │ └── closing_loc: (1,14)-(1,15) = "|" ├── body: │ @ StatementsNode (location: (1,16)-(1,22)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ ArrayNode (location: (1,16)-(1,22)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableReadNode (location: (1,20)-(1,21)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── opening_loc: (1,16)-(1,17) = "[" diff --git a/test/prism/snapshots/seattlerb/block_args_opt2.txt b/test/prism/snapshots/seattlerb/block_args_opt2.txt index a8d736dde7..7170768b1c 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt2.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,18)) + ├── flags: ∅ ├── locals: [:b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,6)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 2) │ │ │ ├── @ OptionalParameterNode (location: (1,6)-(1,9)) @@ -28,7 +33,7 @@ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ OptionalParameterNode (location: (1,11)-(1,14)) │ │ │ ├── flags: ∅ @@ -37,7 +42,7 @@ │ │ │ ├── operator_loc: (1,12)-(1,13) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,13)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) diff --git a/test/prism/snapshots/seattlerb/block_args_opt2_2.txt b/test/prism/snapshots/seattlerb/block_args_opt2_2.txt index 0403851ed7..34d04dbe54 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt2_2.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt2_2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,35)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,35)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,35)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,35)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,23)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,22)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22)) │ │ │ ├── flags: ∅ @@ -40,7 +45,7 @@ │ │ │ ├── operator_loc: (1,18)-(1,19) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,20)-(1,22)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 24 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -52,17 +57,21 @@ │ └── closing_loc: (1,22)-(1,23) = "|" ├── body: │ @ StatementsNode (location: (1,24)-(1,33)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ ArrayNode (location: (1,24)-(1,33)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ LocalVariableReadNode (location: (1,25)-(1,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── @ LocalVariableReadNode (location: (1,28)-(1,29)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ └── @ LocalVariableReadNode (location: (1,31)-(1,32)) + │ │ ├── flags: ∅ │ │ ├── name: :c │ │ └── depth: 0 │ ├── opening_loc: (1,24)-(1,25) = "[" diff --git a/test/prism/snapshots/seattlerb/block_args_opt3.txt b/test/prism/snapshots/seattlerb/block_args_opt3.txt index ff4495019c..508d062ce2 100644 --- a/test/prism/snapshots/seattlerb/block_args_opt3.txt +++ b/test/prism/snapshots/seattlerb/block_args_opt3.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,42)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,42)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,42)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,42)) + ├── flags: ∅ ├── locals: [:a, :b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,27)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,26)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ └── @ OptionalParameterNode (location: (1,16)-(1,22)) │ │ │ ├── flags: ∅ @@ -40,7 +45,7 @@ │ │ │ ├── operator_loc: (1,18)-(1,19) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,20)-(1,22)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 24 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -57,20 +62,25 @@ │ └── closing_loc: (1,26)-(1,27) = "|" ├── body: │ @ StatementsNode (location: (1,28)-(1,40)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ ArrayNode (location: (1,28)-(1,40)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 4) │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── @ LocalVariableReadNode (location: (1,32)-(1,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── @ LocalVariableReadNode (location: (1,35)-(1,36)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :c │ │ │ └── depth: 0 │ │ └── @ LocalVariableReadNode (location: (1,38)-(1,39)) + │ │ ├── flags: ∅ │ │ ├── name: :d │ │ └── depth: 0 │ ├── opening_loc: (1,28)-(1,29) = "[" diff --git a/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt b/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt index 2e634dc937..4e6ad90afd 100644 --- a/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt +++ b/test/prism/snapshots/seattlerb/block_call_defn_call_block_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,11)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(3,4)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -15,11 +17,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ DefNode (location: (1,2)-(3,4)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ ├── name_loc: (1,6)-(1,7) = "b" │ │ ├── receiver: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,8)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,9)) │ │ │ │ ├── flags: ∅ @@ -32,9 +36,10 @@ │ │ │ └── block: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (2,1)-(2,2)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,1)-(2,2)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -53,7 +58,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (4,1)-(4,11)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (4,1)-(4,2)) │ ├── flags: variable_call, ignore_visibility @@ -73,6 +78,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (4,5)-(4,11)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt b/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt index e46104b868..5f05b1f6ff 100644 --- a/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt +++ b/test/prism/snapshots/seattlerb/block_call_dot_op2_brace_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,31)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,31)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,31)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,16)) │ ├── flags: ∅ @@ -40,13 +42,15 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,8)-(1,16)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,11)-(1,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,11)-(1,12)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -65,11 +69,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,19)-(1,31)) + ├── flags: ∅ ├── locals: [:f] ├── parameters: │ @ BlockParametersNode (location: (1,22)-(1,25)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,23)-(1,24)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,23)-(1,24)) │ │ │ ├── flags: ∅ @@ -85,9 +92,10 @@ │ └── closing_loc: (1,24)-(1,25) = "|" ├── body: │ @ StatementsNode (location: (1,26)-(1,27)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,26)-(1,27)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :g diff --git a/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt b/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt index 05d076f8d6..ca141580b7 100644 --- a/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt +++ b/test/prism/snapshots/seattlerb/block_call_dot_op2_cmd_args_do_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,33)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,33)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,33)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,16)) │ ├── flags: ∅ @@ -40,13 +42,15 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,8)-(1,16)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,11)-(1,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,11)-(1,12)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -78,11 +82,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,21)-(1,33)) + ├── flags: ∅ ├── locals: [:g] ├── parameters: │ @ BlockParametersNode (location: (1,24)-(1,27)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,25)-(1,26)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,25)-(1,26)) │ │ │ ├── flags: ∅ @@ -98,9 +105,10 @@ │ └── closing_loc: (1,26)-(1,27) = "|" ├── body: │ @ StatementsNode (location: (1,28)-(1,29)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,28)-(1,29)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :h diff --git a/test/prism/snapshots/seattlerb/block_call_operation_colon.txt b/test/prism/snapshots/seattlerb/block_call_operation_colon.txt index 9fd13b0dfc..cecd421263 100644 --- a/test/prism/snapshots/seattlerb/block_call_operation_colon.txt +++ b/test/prism/snapshots/seattlerb/block_call_operation_colon.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,12)) │ ├── flags: ∅ @@ -40,6 +42,7 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_operation_dot.txt b/test/prism/snapshots/seattlerb/block_call_operation_dot.txt index 43c19d3318..5c661fb49a 100644 --- a/test/prism/snapshots/seattlerb/block_call_operation_dot.txt +++ b/test/prism/snapshots/seattlerb/block_call_operation_dot.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,12)) │ ├── flags: ∅ @@ -40,6 +42,7 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt b/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt index 10c1780d37..93c4b05f9b 100644 --- a/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt +++ b/test/prism/snapshots/seattlerb/block_call_paren_call_block_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,10)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -15,11 +17,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ParenthesesNode (location: (1,2)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,3)-(1,4)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -33,7 +37,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (2,0)-(2,10)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (2,0)-(2,1)) │ ├── flags: variable_call, ignore_visibility @@ -53,6 +57,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (2,4)-(2,10)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/block_command_operation_colon.txt b/test/prism/snapshots/seattlerb/block_command_operation_colon.txt index 30fd6dafa0..c71fbe2f4a 100644 --- a/test/prism/snapshots/seattlerb/block_command_operation_colon.txt +++ b/test/prism/snapshots/seattlerb/block_command_operation_colon.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,11)) │ ├── flags: ignore_visibility @@ -18,7 +20,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (1,2)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,2)-(1,3) = ":" │ │ ├── value_loc: (1,3)-(1,4) = "b" │ │ ├── closing_loc: ∅ @@ -26,6 +28,7 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,5)-(1,11)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ @@ -40,7 +43,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ SymbolNode (location: (1,15)-(1,17)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,15)-(1,16) = ":" │ ├── value_loc: (1,16)-(1,17) = "d" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/block_command_operation_dot.txt b/test/prism/snapshots/seattlerb/block_command_operation_dot.txt index e4f69d3604..68d98c99b4 100644 --- a/test/prism/snapshots/seattlerb/block_command_operation_dot.txt +++ b/test/prism/snapshots/seattlerb/block_command_operation_dot.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,11)) │ ├── flags: ignore_visibility @@ -18,7 +20,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (1,2)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,2)-(1,3) = ":" │ │ ├── value_loc: (1,3)-(1,4) = "b" │ │ ├── closing_loc: ∅ @@ -26,6 +28,7 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,5)-(1,11)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ @@ -40,7 +43,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ SymbolNode (location: (1,14)-(1,16)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,14)-(1,15) = ":" │ ├── value_loc: (1,15)-(1,16) = "d" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt b/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt index e309ec1f98..5628cacc97 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_anon_splat_arg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,16 +16,21 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,14)) + ├── flags: ∅ ├── locals: [:a] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,6)-(1,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 1) diff --git a/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt b/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt index 8d28fa7e02..b13e13d167 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_arg_splat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,19 +16,24 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,14)) + ├── flags: ∅ ├── locals: [:b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :b │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,9)-(1,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 0) diff --git a/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt index 4f4a82acf5..ba0a6202ce 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_arg_splat_arg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,19 +16,24 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,18)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) diff --git a/test/prism/snapshots/seattlerb/block_decomp_splat.txt b/test/prism/snapshots/seattlerb/block_decomp_splat.txt index 09d3440126..fd8ad4bda1 100644 --- a/test/prism/snapshots/seattlerb/block_decomp_splat.txt +++ b/test/prism/snapshots/seattlerb/block_decomp_splat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,16 +16,21 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,12)) + ├── flags: ∅ ├── locals: [:a] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,10)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,6)-(1,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (1,7)-(1,8)) diff --git a/test/prism/snapshots/seattlerb/block_kw.txt b/test/prism/snapshots/seattlerb/block_kw.txt index f022637dae..d76998ecb6 100644 --- a/test/prism/snapshots/seattlerb/block_kw.txt +++ b/test/prism/snapshots/seattlerb/block_kw.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :blah @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,5)-(1,15)) + ├── flags: ∅ ├── locals: [:k] ├── parameters: │ @ BlockParametersNode (location: (1,7)-(1,13)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,8)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -30,7 +35,7 @@ │ │ │ ├── name_loc: (1,8)-(1,10) = "k:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,10)-(1,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/block_kw__required.txt b/test/prism/snapshots/seattlerb/block_kw__required.txt index 8a49c8bec7..f04987d854 100644 --- a/test/prism/snapshots/seattlerb/block_kw__required.txt +++ b/test/prism/snapshots/seattlerb/block_kw__required.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :blah @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,5)-(1,16)) + ├── flags: ∅ ├── locals: [:k] ├── parameters: │ @ BlockParametersNode (location: (1,8)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,9)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt b/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt index e77bf90a27..861348f2a2 100644 --- a/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt +++ b/test/prism/snapshots/seattlerb/block_kwarg_lvar.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :bl @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,3)-(1,20)) + ├── flags: ∅ ├── locals: [:kw] ├── parameters: │ @ BlockParametersNode (location: (1,5)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,6)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -30,7 +35,7 @@ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:" │ │ │ └── value: │ │ │ @ SymbolNode (location: (1,10)-(1,14)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,10)-(1,11) = ":" │ │ │ ├── value_loc: (1,11)-(1,14) = "val" │ │ │ ├── closing_loc: ∅ @@ -42,8 +47,10 @@ │ └── closing_loc: (1,14)-(1,15) = "|" ├── body: │ @ StatementsNode (location: (1,16)-(1,18)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (1,16)-(1,18)) + │ ├── flags: newline │ ├── name: :kw │ └── depth: 0 ├── opening_loc: (1,3)-(1,4) = "{" diff --git a/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt b/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt index a527c8c993..f1c1fef8a3 100644 --- a/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt +++ b/test/prism/snapshots/seattlerb/block_kwarg_lvar_multiple.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,33)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,33)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,33)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :bl @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,3)-(1,33)) + ├── flags: ∅ ├── locals: [:kw, :kw2] ├── parameters: │ @ BlockParametersNode (location: (1,5)-(1,28)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,6)-(1,26)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -30,7 +35,7 @@ │ │ │ │ ├── name_loc: (1,6)-(1,9) = "kw:" │ │ │ │ └── value: │ │ │ │ @ SymbolNode (location: (1,10)-(1,14)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (1,10)-(1,11) = ":" │ │ │ │ ├── value_loc: (1,11)-(1,14) = "val" │ │ │ │ ├── closing_loc: ∅ @@ -41,7 +46,7 @@ │ │ │ ├── name_loc: (1,16)-(1,20) = "kw2:" │ │ │ └── value: │ │ │ @ SymbolNode (location: (1,21)-(1,26)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,21)-(1,22) = ":" │ │ │ ├── value_loc: (1,22)-(1,26) = "val2" │ │ │ ├── closing_loc: ∅ @@ -53,8 +58,10 @@ │ └── closing_loc: (1,27)-(1,28) = "|" ├── body: │ @ StatementsNode (location: (1,29)-(1,31)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (1,29)-(1,31)) + │ ├── flags: newline │ ├── name: :kw │ └── depth: 0 ├── opening_loc: (1,3)-(1,4) = "{" diff --git a/test/prism/snapshots/seattlerb/block_opt_arg.txt b/test/prism/snapshots/seattlerb/block_opt_arg.txt index 64dc928f14..39be11ac92 100644 --- a/test/prism/snapshots/seattlerb/block_opt_arg.txt +++ b/test/prism/snapshots/seattlerb/block_opt_arg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,14)) + ├── flags: ∅ ├── locals: [:b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,6)-(1,7) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 1) diff --git a/test/prism/snapshots/seattlerb/block_opt_splat.txt b/test/prism/snapshots/seattlerb/block_opt_splat.txt index c18df9c27d..3898212dc0 100644 --- a/test/prism/snapshots/seattlerb/block_opt_splat.txt +++ b/test/prism/snapshots/seattlerb/block_opt_splat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,17)) + ├── flags: ∅ ├── locals: [:b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,10)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,12)-(1,14)) diff --git a/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt b/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt index 3806809d2b..ed4857ad25 100644 --- a/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt +++ b/test/prism/snapshots/seattlerb/block_opt_splat_arg_block_omfg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,22)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,22)) + ├── flags: ∅ ├── locals: [:b, :c, :d, :e] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,20)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,19)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,8)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,6)-(1,7) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,10)-(1,12)) diff --git a/test/prism/snapshots/seattlerb/block_optarg.txt b/test/prism/snapshots/seattlerb/block_optarg.txt index 5da99aec79..2172571eb1 100644 --- a/test/prism/snapshots/seattlerb/block_optarg.txt +++ b/test/prism/snapshots/seattlerb/block_optarg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,14)) + ├── flags: ∅ ├── locals: [:b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ SymbolNode (location: (1,9)-(1,11)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,9)-(1,10) = ":" │ │ │ ├── value_loc: (1,10)-(1,11) = "c" │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/block_paren_splat.txt b/test/prism/snapshots/seattlerb/block_paren_splat.txt index ebd937904c..b6c2da679b 100644 --- a/test/prism/snapshots/seattlerb/block_paren_splat.txt +++ b/test/prism/snapshots/seattlerb/block_paren_splat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,19 +16,24 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,15)) + ├── flags: ∅ ├── locals: [:b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,13)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :b │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) diff --git a/test/prism/snapshots/seattlerb/block_reg_optarg.txt b/test/prism/snapshots/seattlerb/block_reg_optarg.txt index 53c43603a7..0173b92e8f 100644 --- a/test/prism/snapshots/seattlerb/block_reg_optarg.txt +++ b/test/prism/snapshots/seattlerb/block_reg_optarg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,17)) + ├── flags: ∅ ├── locals: [:b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ └── value: │ │ │ @ SymbolNode (location: (1,12)-(1,14)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,12)-(1,13) = ":" │ │ │ ├── value_loc: (1,13)-(1,14) = "d" │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/block_return.txt b/test/prism/snapshots/seattlerb/block_return.txt index c863b28a22..0eee33c844 100644 --- a/test/prism/snapshots/seattlerb/block_return.txt +++ b/test/prism/snapshots/seattlerb/block_return.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,27)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,27)) + ├── flags: ∅ └── body: (length: 1) └── @ ReturnNode (location: (1,0)-(1,27)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (1,0)-(1,6) = "return" └── arguments: @ ArgumentsNode (location: (1,7)-(1,27)) @@ -34,11 +36,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,15)-(1,27)) + ├── flags: ∅ ├── locals: [:bar] ├── parameters: │ @ BlockParametersNode (location: (1,18)-(1,23)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,19)-(1,22)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,19)-(1,22)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/block_scope.txt b/test/prism/snapshots/seattlerb/block_scope.txt index a21a28b993..ef659bb38e 100644 --- a/test/prism/snapshots/seattlerb/block_scope.txt +++ b/test/prism/snapshots/seattlerb/block_scope.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,9 +16,11 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,10)) + ├── flags: ∅ ├── locals: [:b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,8)) + │ ├── flags: ∅ │ ├── parameters: ∅ │ ├── locals: (length: 1) │ │ └── @ BlockLocalVariableNode (location: (1,6)-(1,7)) diff --git a/test/prism/snapshots/seattlerb/block_splat_reg.txt b/test/prism/snapshots/seattlerb/block_splat_reg.txt index 617ff88622..b5eb009c52 100644 --- a/test/prism/snapshots/seattlerb/block_splat_reg.txt +++ b/test/prism/snapshots/seattlerb/block_splat_reg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,13)) + ├── flags: ∅ ├── locals: [:b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: diff --git a/test/prism/snapshots/seattlerb/bug169.txt b/test/prism/snapshots/seattlerb/bug169.txt index e4fb47a6de..c55df4257d 100644 --- a/test/prism/snapshots/seattlerb/bug169.txt +++ b/test/prism/snapshots/seattlerb/bug169.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -15,12 +17,14 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,2)-(1,4)) + │ ├── flags: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,2)-(1,3) = "(" │ └── closing_loc: (1,3)-(1,4) = ")" ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,5)-(1,7)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/bug179.txt b/test/prism/snapshots/seattlerb/bug179.txt index d7695bc7a7..4392d5ec27 100644 --- a/test/prism/snapshots/seattlerb/bug179.txt +++ b/test/prism/snapshots/seattlerb/bug179.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -18,11 +20,13 @@ │ ├── flags: ∅ │ ├── left: │ │ @ ParenthesesNode (location: (1,2)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── body: ∅ │ │ ├── opening_loc: (1,2)-(1,3) = "(" │ │ └── closing_loc: (1,3)-(1,4) = ")" │ ├── right: │ │ @ NilNode (location: (1,6)-(1,9)) + │ │ └── flags: static_literal │ └── operator_loc: (1,4)-(1,6) = ".." ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug190.txt b/test/prism/snapshots/seattlerb/bug190.txt index b261a166cf..004ca16a60 100644 --- a/test/prism/snapshots/seattlerb/bug190.txt +++ b/test/prism/snapshots/seattlerb/bug190.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,6)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (1,0)-(1,3) = "%r'" ├── content_loc: (1,3)-(1,5) = "\\'" ├── closing_loc: (1,5)-(1,6) = "'" diff --git a/test/prism/snapshots/seattlerb/bug191.txt b/test/prism/snapshots/seattlerb/bug191.txt index 69835ab1d0..3977eb9519 100644 --- a/test/prism/snapshots/seattlerb/bug191.txt +++ b/test/prism/snapshots/seattlerb/bug191.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,9)) + ├── flags: ∅ └── body: (length: 2) ├── @ IfNode (location: (1,0)-(1,9)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (1,0)-(1,1)) @@ -19,21 +22,24 @@ │ ├── then_keyword_loc: (1,2)-(1,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,4)-(1,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ StringNode (location: (1,4)-(1,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (1,4)-(1,5) = "\"" │ │ ├── content_loc: (1,5)-(1,5) = "" │ │ ├── closing_loc: (1,5)-(1,6) = "\"" │ │ └── unescaped: "" │ ├── consequent: │ │ @ ElseNode (location: (1,6)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (1,6)-(1,7) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,8)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,8)-(1,9)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -45,6 +51,7 @@ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ IfNode (location: (3,0)-(3,9)) + ├── flags: newline ├── if_keyword_loc: ∅ ├── predicate: │ @ CallNode (location: (3,0)-(3,1)) @@ -60,21 +67,24 @@ ├── then_keyword_loc: (3,2)-(3,3) = "?" ├── statements: │ @ StatementsNode (location: (3,4)-(3,6)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ StringNode (location: (3,4)-(3,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (3,4)-(3,5) = "'" │ ├── content_loc: (3,5)-(3,5) = "" │ ├── closing_loc: (3,5)-(3,6) = "'" │ └── unescaped: "" ├── consequent: │ @ ElseNode (location: (3,6)-(3,9)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (3,6)-(3,7) = ":" │ ├── statements: │ │ @ StatementsNode (location: (3,8)-(3,9)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,8)-(3,9)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b diff --git a/test/prism/snapshots/seattlerb/bug202.txt b/test/prism/snapshots/seattlerb/bug202.txt index 377b53727e..f907081c20 100644 --- a/test/prism/snapshots/seattlerb/bug202.txt +++ b/test/prism/snapshots/seattlerb/bug202.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(2,10)) +├── flags: ∅ ├── locals: [:测试] └── statements: @ StatementsNode (location: (1,0)-(2,10)) + ├── flags: ∅ └── body: (length: 2) ├── @ GlobalVariableWriteNode (location: (1,0)-(1,11)) + │ ├── flags: newline │ ├── name: :$测试 │ ├── name_loc: (1,0)-(1,7) = "$测试" │ ├── value: │ │ @ IntegerNode (location: (1,10)-(1,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (1,8)-(1,9) = "=" └── @ LocalVariableWriteNode (location: (2,0)-(2,10)) + ├── flags: newline ├── name: :测试 ├── depth: 0 ├── name_loc: (2,0)-(2,6) = "测试" ├── value: │ @ IntegerNode (location: (2,9)-(2,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 └── operator_loc: (2,7)-(2,8) = "=" diff --git a/test/prism/snapshots/seattlerb/bug236.txt b/test/prism/snapshots/seattlerb/bug236.txt index 203a39a793..792020dc78 100644 --- a/test/prism/snapshots/seattlerb/bug236.txt +++ b/test/prism/snapshots/seattlerb/bug236.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,6)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -14,11 +16,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,1)-(1,7)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (1,2)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,3)-(1,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4)) │ │ │ │ ├── flags: ∅ @@ -26,6 +31,7 @@ │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: │ │ │ │ @ ImplicitRestNode (location: (1,4)-(1,5)) + │ │ │ │ └── flags: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) │ │ │ ├── keyword_rest: ∅ @@ -37,7 +43,7 @@ │ ├── opening_loc: (1,1)-(1,2) = "{" │ └── closing_loc: (1,6)-(1,7) = "}" └── @ CallNode (location: (3,0)-(3,6)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -47,11 +53,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (3,1)-(3,6)) + ├── flags: ∅ ├── locals: [:a] ├── parameters: │ @ BlockParametersNode (location: (3,2)-(3,5)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (3,3)-(3,4)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (3,3)-(3,4)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug290.txt b/test/prism/snapshots/seattlerb/bug290.txt index 4f1e673c4b..85d75c0d16 100644 --- a/test/prism/snapshots/seattlerb/bug290.txt +++ b/test/prism/snapshots/seattlerb/bug290.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(3,3)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (2,2)-(2,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,2)-(2,5)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo diff --git a/test/prism/snapshots/seattlerb/bug_187.txt b/test/prism/snapshots/seattlerb/bug_187.txt index ae72675e5c..6a5786e34a 100644 --- a/test/prism/snapshots/seattlerb/bug_187.txt +++ b/test/prism/snapshots/seattlerb/bug_187.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :private @@ -15,15 +17,17 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ DefNode (location: (1,8)-(3,3)) + │ ├── flags: ∅ │ ├── name: :f │ ├── name_loc: (1,12)-(1,13) = "f" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (2,0)-(2,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,0)-(2,10)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (2,0)-(2,1)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -43,6 +47,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (2,4)-(2,10)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_215.txt b/test/prism/snapshots/seattlerb/bug_215.txt index de7716335e..ee82b4f1da 100644 --- a/test/prism/snapshots/seattlerb/bug_215.txt +++ b/test/prism/snapshots/seattlerb/bug_215.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ UndefNode (location: (1,0)-(1,13)) + ├── flags: newline ├── names: (length: 1) │ └── @ SymbolNode (location: (1,6)-(1,13)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,6)-(1,9) = "%s(" │ ├── value_loc: (1,9)-(1,12) = "foo" │ ├── closing_loc: (1,12)-(1,13) = ")" diff --git a/test/prism/snapshots/seattlerb/bug_249.txt b/test/prism/snapshots/seattlerb/bug_249.txt index ad61501a07..06daa80e41 100644 --- a/test/prism/snapshots/seattlerb/bug_249.txt +++ b/test/prism/snapshots/seattlerb/bug_249.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,28)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,28)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :mount @@ -18,13 +20,16 @@ │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ ParenthesesNode (location: (1,6)-(4,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (1,7)-(4,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (1,7)-(4,4)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── receiver: │ │ │ │ │ @ ConstantReadNode (location: (1,7)-(1,12)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :Class │ │ │ │ ├── call_operator_loc: (1,12)-(1,13) = "." │ │ │ │ ├── name: :new @@ -34,12 +39,15 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (1,17)-(4,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (2,0)-(3,3)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ DefNode (location: (2,0)-(3,3)) + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── name: :initialize │ │ │ │ │ ├── name_loc: (2,4)-(2,14) = "initialize" │ │ │ │ │ ├── receiver: ∅ @@ -67,9 +75,10 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (4,11)-(4,28)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (4,11)-(4,14)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (4,11)-(4,12) = ":" │ │ ├── value_loc: (4,12)-(4,14) = "at" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_and.txt b/test/prism/snapshots/seattlerb/bug_and.txt index 3daf505e5f..89eb403b4a 100644 --- a/test/prism/snapshots/seattlerb/bug_and.txt +++ b/test/prism/snapshots/seattlerb/bug_and.txt @@ -1,20 +1,27 @@ @ ProgramNode (location: (1,0)-(4,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,11)) + ├── flags: ∅ └── body: (length: 2) ├── @ AndNode (location: (1,0)-(2,4)) + │ ├── flags: newline │ ├── left: │ │ @ TrueNode (location: (1,0)-(1,4)) + │ │ └── flags: static_literal │ ├── right: │ │ @ TrueNode (location: (2,0)-(2,4)) + │ │ └── flags: static_literal │ └── operator_loc: (1,5)-(1,8) = "and" └── @ AndNode (location: (4,0)-(4,11)) + ├── flags: newline ├── left: │ @ TrueNode (location: (4,0)-(4,4)) + │ └── flags: static_literal ├── right: │ @ ArrayNode (location: (4,9)-(4,11)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (4,9)-(4,10) = "[" │ └── closing_loc: (4,10)-(4,11) = "]" diff --git a/test/prism/snapshots/seattlerb/bug_args__19.txt b/test/prism/snapshots/seattlerb/bug_args__19.txt index f451bd0172..5b1d897718 100644 --- a/test/prism/snapshots/seattlerb/bug_args__19.txt +++ b/test/prism/snapshots/seattlerb/bug_args__19.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,13 +16,17 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,16)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ │ │ │ ├── flags: ∅ @@ -43,9 +49,10 @@ │ └── closing_loc: (1,11)-(1,12) = "|" ├── body: │ @ StatementsNode (location: (1,13)-(1,14)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,13)-(1,14)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :d diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn.txt b/test/prism/snapshots/seattlerb/bug_args_masgn.txt index 297979c182..6456d82ecc 100644 --- a/test/prism/snapshots/seattlerb/bug_args_masgn.txt +++ b/test/prism/snapshots/seattlerb/bug_args_masgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,13 +16,17 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,17)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn2.txt b/test/prism/snapshots/seattlerb/bug_args_masgn2.txt index 6bec9187b3..bd9fc61161 100644 --- a/test/prism/snapshots/seattlerb/bug_args_masgn2.txt +++ b/test/prism/snapshots/seattlerb/bug_args_masgn2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,22)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,15 +16,20 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,22)) + ├── flags: ∅ ├── locals: [:a, :b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,20)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,19)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ MultiTargetNode (location: (1,5)-(1,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8)) │ │ │ │ │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt b/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt index 42a060d02a..ad62bd4daa 100644 --- a/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt +++ b/test/prism/snapshots/seattlerb/bug_args_masgn_outer_parens__19.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,15 +16,20 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,19)) + ├── flags: ∅ ├── locals: [:k, :v, :i] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,17)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,16)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ MultiTargetNode (location: (1,6)-(1,12)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,7)-(1,8)) │ │ │ │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt b/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt index 53d6f9220b..6954854bae 100644 --- a/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt +++ b/test/prism/snapshots/seattlerb/bug_call_arglist_parens.txt @@ -1,18 +1,22 @@ @ ProgramNode (location: (1,6)-(11,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,6)-(11,9)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefNode (location: (1,6)-(3,9)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (1,10)-(1,11) = "f" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (2,8)-(2,17)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,8)-(2,17)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :g @@ -23,16 +27,18 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ ParenthesesNode (location: (2,10)-(2,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (2,12)-(2,13)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (2,12)-(2,13)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── opening_loc: (2,10)-(2,11) = "(" │ │ │ │ └── closing_loc: (2,13)-(2,14) = ")" │ │ │ └── @ IntegerNode (location: (2,16)-(2,17)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -44,15 +50,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,6)-(3,9) = "end" ├── @ DefNode (location: (6,6)-(8,9)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (6,10)-(6,11) = "f" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,8)-(7,16)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,8)-(7,16)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :g @@ -63,16 +71,18 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ ParenthesesNode (location: (7,10)-(7,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (7,11)-(7,12)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (7,11)-(7,12)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── opening_loc: (7,10)-(7,11) = "(" │ │ │ │ └── closing_loc: (7,12)-(7,13) = ")" │ │ │ └── @ IntegerNode (location: (7,15)-(7,16)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -84,7 +94,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (8,6)-(8,9) = "end" └── @ CallNode (location: (11,0)-(11,9)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :g @@ -95,16 +105,18 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ ParenthesesNode (location: (11,2)-(11,6)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (11,4)-(11,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (11,4)-(11,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: (11,2)-(11,3) = "(" │ │ └── closing_loc: (11,5)-(11,6) = ")" │ └── @ IntegerNode (location: (11,8)-(11,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt b/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt index 0cc1ca05e1..f0d3c3d23c 100644 --- a/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt +++ b/test/prism/snapshots/seattlerb/bug_case_when_regexp.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,26)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,26)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,26)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "x" │ ├── closing_loc: ∅ │ └── unescaped: "x" ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,9)-(1,22)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,9)-(1,13) = "when" │ ├── conditions: (length: 1) │ │ └── @ RegularExpressionNode (location: (1,14)-(1,17)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,14)-(1,15) = "/" │ │ ├── content_loc: (1,15)-(1,16) = "x" │ │ ├── closing_loc: (1,16)-(1,17) = "/" diff --git a/test/prism/snapshots/seattlerb/bug_comma.txt b/test/prism/snapshots/seattlerb/bug_comma.txt index af886999b5..0d65d2805a 100644 --- a/test/prism/snapshots/seattlerb/bug_comma.txt +++ b/test/prism/snapshots/seattlerb/bug_comma.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,24)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,15)) diff --git a/test/prism/snapshots/seattlerb/bug_cond_pct.txt b/test/prism/snapshots/seattlerb/bug_cond_pct.txt index cbf3bc3ef0..69d9b7e175 100644 --- a/test/prism/snapshots/seattlerb/bug_cond_pct.txt +++ b/test/prism/snapshots/seattlerb/bug_cond_pct.txt @@ -1,16 +1,20 @@ @ ProgramNode (location: (1,0)-(1,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,28)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,28)) + ├── flags: newline ├── predicate: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,6)-(1,23)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,6)-(1,10) = "when" │ ├── conditions: (length: 1) │ │ └── @ RegularExpressionNode (location: (1,11)-(1,23)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,11)-(1,14) = "%r%" │ │ ├── content_loc: (1,14)-(1,22) = "blahblah" │ │ ├── closing_loc: (1,22)-(1,23) = "%" diff --git a/test/prism/snapshots/seattlerb/bug_hash_args.txt b/test/prism/snapshots/seattlerb/bug_hash_args.txt index e138db4d49..cd90f0ebc6 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_args.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_args.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -15,7 +17,7 @@ │ ├── flags: contains_keywords │ └── arguments: (length: 2) │ ├── @ SymbolNode (location: (1,4)-(1,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,4)-(1,5) = ":" │ │ ├── value_loc: (1,5)-(1,8) = "bar" │ │ ├── closing_loc: ∅ @@ -24,15 +26,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,10)-(1,18)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,10)-(1,14)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,10)-(1,13) = "baz" │ │ ├── closing_loc: (1,13)-(1,14) = ":" │ │ └── unescaped: "baz" │ ├── value: │ │ @ NilNode (location: (1,15)-(1,18)) + │ │ └── flags: static_literal │ └── operator_loc: ∅ ├── closing_loc: (1,18)-(1,19) = ")" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt b/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt index fe2d7f73c9..8c06cabf1c 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -15,7 +17,7 @@ │ ├── flags: contains_keywords │ └── arguments: (length: 2) │ ├── @ SymbolNode (location: (1,4)-(1,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,4)-(1,5) = ":" │ │ ├── value_loc: (1,5)-(1,8) = "bar" │ │ ├── closing_loc: ∅ @@ -24,15 +26,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,10)-(1,18)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,10)-(1,14)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,10)-(1,13) = "baz" │ │ ├── closing_loc: (1,13)-(1,14) = ":" │ │ └── unescaped: "baz" │ ├── value: │ │ @ NilNode (location: (1,15)-(1,18)) + │ │ └── flags: static_literal │ └── operator_loc: ∅ ├── closing_loc: (1,19)-(1,20) = ")" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt b/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt index 433fb02411..3d9fc56850 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_interp_array.txt @@ -1,24 +1,30 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ HashNode (location: (1,0)-(1,13)) + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "{" ├── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,11)) + │ ├── flags: ∅ │ ├── key: │ │ @ InterpolatedSymbolNode (location: (1,2)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" │ │ ├── parts: (length: 1) │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (1,5)-(1,6) = "}" │ │ └── closing_loc: (1,6)-(1,8) = "\":" │ ├── value: │ │ @ ArrayNode (location: (1,9)-(1,11)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 0) │ │ ├── opening_loc: (1,9)-(1,10) = "[" │ │ └── closing_loc: (1,10)-(1,11) = "]" diff --git a/test/prism/snapshots/seattlerb/bug_masgn_right.txt b/test/prism/snapshots/seattlerb/bug_masgn_right.txt index b4c75c4607..e5b635d802 100644 --- a/test/prism/snapshots/seattlerb/bug_masgn_right.txt +++ b/test/prism/snapshots/seattlerb/bug_masgn_right.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,16 +16,20 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,17)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10)) │ │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/bug_not_parens.txt b/test/prism/snapshots/seattlerb/bug_not_parens.txt index 9e4a416d4a..163fb79564 100644 --- a/test/prism/snapshots/seattlerb/bug_not_parens.txt +++ b/test/prism/snapshots/seattlerb/bug_not_parens.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,4)-(1,5)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt b/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt index 33016f32f8..9da753aece 100644 --- a/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt +++ b/test/prism/snapshots/seattlerb/bug_op_asgn_rescue.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableOrWriteNode (location: (1,0)-(1,18)) + ├── flags: newline ├── name_loc: (1,0)-(1,1) = "a" ├── operator_loc: (1,2)-(1,5) = "||=" ├── value: │ @ RescueModifierNode (location: (1,6)-(1,18)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (1,6)-(1,7)) │ │ ├── flags: variable_call, ignore_visibility @@ -22,5 +26,6 @@ │ ├── keyword_loc: (1,8)-(1,14) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (1,15)-(1,18)) + │ └── flags: static_literal ├── name: :a └── depth: 0 diff --git a/test/prism/snapshots/seattlerb/call_and.txt b/test/prism/snapshots/seattlerb/call_and.txt index d3e88b3f9e..640f355c4a 100644 --- a/test/prism/snapshots/seattlerb/call_and.txt +++ b/test/prism/snapshots/seattlerb/call_and.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :& @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_arg_assoc.txt b/test/prism/snapshots/seattlerb/call_arg_assoc.txt index f489bc7f19..b8ec907031 100644 --- a/test/prism/snapshots/seattlerb/call_arg_assoc.txt +++ b/test/prism/snapshots/seattlerb/call_arg_assoc.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -15,19 +17,20 @@ │ ├── flags: contains_keywords │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (1,2)-(1,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ KeywordHashNode (location: (1,5)-(1,9)) │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,5)-(1,9)) + │ ├── flags: static_literal │ ├── key: │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── value: │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── operator_loc: (1,6)-(1,8) = "=>" ├── closing_loc: (1,9)-(1,10) = ")" diff --git a/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt b/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt index 5b191396de..11142b2721 100644 --- a/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/call_arg_assoc_kwsplat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -15,28 +17,30 @@ │ ├── flags: contains_keywords, contains_keyword_splat │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (1,2)-(1,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ KeywordHashNode (location: (1,5)-(1,15)) │ ├── flags: ∅ │ └── elements: (length: 2) │ ├── @ AssocNode (location: (1,5)-(1,10)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,5)-(1,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,5)-(1,7) = "kw" │ │ │ ├── closing_loc: (1,7)-(1,8) = ":" │ │ │ └── unescaped: "kw" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: ∅ │ └── @ AssocSplatNode (location: (1,12)-(1,15)) + │ ├── flags: ∅ │ ├── value: │ │ @ IntegerNode (location: (1,14)-(1,15)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── operator_loc: (1,12)-(1,14) = "**" ├── closing_loc: (1,15)-(1,16) = ")" diff --git a/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt b/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt index f95b80cf7d..853f7103e3 100644 --- a/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/call_arg_kwsplat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -28,9 +30,10 @@ │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocSplatNode (location: (1,5)-(1,8)) + │ ├── flags: ∅ │ ├── value: │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (1,5)-(1,7) = "**" ├── closing_loc: (1,8)-(1,9) = ")" diff --git a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt index 8946206a3f..615bee5b4a 100644 --- a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt +++ b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,8)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -18,14 +20,18 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,2)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ InterpolatedSymbolNode (location: (1,2)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" │ │ │ ├── parts: (length: 1) │ │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -41,13 +47,13 @@ │ │ │ └── closing_loc: (1,7)-(1,9) = "\":" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -61,22 +67,23 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (3,2)-(3,8)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (3,2)-(3,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (3,2)-(3,3) = "\"" │ │ │ ├── value_loc: (3,3)-(3,4) = "k" │ │ │ ├── closing_loc: (3,4)-(3,6) = "\":" │ │ │ └── unescaped: "k" │ │ ├── value: │ │ │ @ IntegerNode (location: (3,6)-(3,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,8)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -90,16 +97,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (5,2)-(5,8)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (5,2)-(5,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,2)-(5,3) = "'" │ │ ├── value_loc: (5,3)-(5,4) = "k" │ │ ├── closing_loc: (5,4)-(5,6) = "':" │ │ └── unescaped: "k" │ ├── value: │ │ @ IntegerNode (location: (5,6)-(5,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ └── operator_loc: ∅ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt index 0ba5891cf6..00bc620f54 100644 --- a/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/call_args_assoc_trailing_comma.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -15,19 +17,20 @@ │ ├── flags: contains_keywords │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (1,2)-(1,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ KeywordHashNode (location: (1,5)-(1,9)) │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,5)-(1,9)) + │ ├── flags: static_literal │ ├── key: │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── value: │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── operator_loc: (1,6)-(1,8) = "=>" ├── closing_loc: (1,10)-(1,11) = ")" diff --git a/test/prism/snapshots/seattlerb/call_args_command.txt b/test/prism/snapshots/seattlerb/call_args_command.txt index f4a55ff58c..6fe112f224 100644 --- a/test/prism/snapshots/seattlerb/call_args_command.txt +++ b/test/prism/snapshots/seattlerb/call_args_command.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -46,7 +48,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_arg.txt b/test/prism/snapshots/seattlerb/call_array_arg.txt index 95d2f4859d..cec613bc58 100644 --- a/test/prism/snapshots/seattlerb/call_array_arg.txt +++ b/test/prism/snapshots/seattlerb/call_array_arg.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :== @@ -18,16 +20,16 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ArrayNode (location: (1,5)-(1,13)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (1,6)-(1,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,6)-(1,7) = ":" │ │ │ ├── value_loc: (1,7)-(1,8) = "b" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b" │ │ └── @ SymbolNode (location: (1,10)-(1,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,10)-(1,11) = ":" │ │ ├── value_loc: (1,11)-(1,12) = "c" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_block_call.txt b/test/prism/snapshots/seattlerb/call_array_block_call.txt index e02740e7f5..4a044924e9 100644 --- a/test/prism/snapshots/seattlerb/call_array_block_call.txt +++ b/test/prism/snapshots/seattlerb/call_array_block_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -18,6 +20,7 @@ │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ NilNode (location: (1,4)-(1,7)) + │ │ │ └── flags: static_literal │ │ └── @ CallNode (location: (1,9)-(1,17)) │ │ ├── flags: ignore_visibility │ │ ├── receiver: ∅ @@ -29,6 +32,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (1,11)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt b/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt index c6aa722812..dca64e5f7b 100644 --- a/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt +++ b/test/prism/snapshots/seattlerb/call_array_lambda_block_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -18,12 +20,14 @@ │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ LambdaNode (location: (1,3)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── operator_loc: (1,3)-(1,5) = "->" │ │ ├── opening_loc: (1,8)-(1,9) = "{" │ │ ├── closing_loc: (1,9)-(1,10) = "}" │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (1,5)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: ∅ │ │ │ ├── locals: (length: 0) │ │ │ ├── opening_loc: (1,5)-(1,6) = "(" @@ -34,6 +38,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,12)-(2,3)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt b/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt index 091e21c00a..f83c7a55e5 100644 --- a/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt +++ b/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (1,3)-(1,5)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,3)-(1,4) = ":" │ │ │ ├── value_loc: (1,4)-(1,5) = "b" │ │ │ ├── closing_loc: ∅ @@ -27,16 +29,17 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,7)-(1,14)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,7)-(1,9)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,7)-(1,8) = ":" │ │ │ ├── value_loc: (1,8)-(1,9) = "c" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "c" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,13)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (1,10)-(1,12) = "=>" │ ├── opening_loc: (1,2)-(1,3) = "[" diff --git a/test/prism/snapshots/seattlerb/call_assoc.txt b/test/prism/snapshots/seattlerb/call_assoc.txt index 60784e6095..a4e4512a08 100644 --- a/test/prism/snapshots/seattlerb/call_assoc.txt +++ b/test/prism/snapshots/seattlerb/call_assoc.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -18,13 +20,14 @@ │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,6)) + │ ├── flags: static_literal │ ├── key: │ │ @ IntegerNode (location: (1,2)-(1,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── value: │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── operator_loc: (1,3)-(1,5) = "=>" ├── closing_loc: (1,6)-(1,7) = ")" diff --git a/test/prism/snapshots/seattlerb/call_assoc_new.txt b/test/prism/snapshots/seattlerb/call_assoc_new.txt index dc25fb2493..6cbc942a6b 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_new.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_new.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -18,16 +20,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,5)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,2)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,2)-(1,3) = "a" │ │ ├── closing_loc: (1,3)-(1,4) = ":" │ │ └── unescaped: "a" │ ├── value: │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── operator_loc: ∅ ├── closing_loc: (1,5)-(1,6) = ")" diff --git a/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt b/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt index b3d652e879..e0236f3974 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(5,4)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -18,19 +20,21 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(5,3)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (1,2)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,2)-(1,3) = "b" │ │ ├── closing_loc: (1,3)-(1,4) = ":" │ │ └── unescaped: "b" │ ├── value: │ │ @ IfNode (location: (1,5)-(5,3)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (1,5)-(1,7) = "if" │ │ ├── predicate: │ │ │ @ SymbolNode (location: (1,8)-(1,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,8)-(1,9) = ":" │ │ │ ├── value_loc: (1,9)-(1,10) = "c" │ │ │ ├── closing_loc: ∅ @@ -38,18 +42,21 @@ │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (2,0)-(2,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (2,0)-(2,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ ├── consequent: │ │ │ @ ElseNode (location: (3,0)-(5,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── else_keyword_loc: (3,0)-(3,4) = "else" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (4,0)-(4,1)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (4,0)-(4,1)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" │ │ └── end_keyword_loc: (5,0)-(5,3) = "end" diff --git a/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt index b2012f0f75..a240775d69 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_trailing_comma.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -18,13 +20,14 @@ │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,6)) + │ ├── flags: static_literal │ ├── key: │ │ @ IntegerNode (location: (1,2)-(1,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── value: │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (1,3)-(1,5) = "=>" ├── closing_loc: (1,7)-(1,8) = ")" diff --git a/test/prism/snapshots/seattlerb/call_bang_command_call.txt b/test/prism/snapshots/seattlerb/call_bang_command_call.txt index 5e4e10d953..e226d65278 100644 --- a/test/prism/snapshots/seattlerb/call_bang_command_call.txt +++ b/test/prism/snapshots/seattlerb/call_bang_command_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,2)-(1,7)) │ ├── flags: ∅ @@ -28,7 +30,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_bang_squiggle.txt b/test/prism/snapshots/seattlerb/call_bang_squiggle.txt index bf11bc0136..5c10841f73 100644 --- a/test/prism/snapshots/seattlerb/call_bang_squiggle.txt +++ b/test/prism/snapshots/seattlerb/call_bang_squiggle.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :!~ @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt b/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt index 1aa994c8e6..240a3aaa76 100644 --- a/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt +++ b/test/prism/snapshots/seattlerb/call_begin_call_block_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -15,12 +17,14 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ BeginNode (location: (1,2)-(3,3)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (2,0)-(2,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,0)-(2,10)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (2,0)-(2,1)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -40,6 +44,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (2,4)-(2,10)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/call_block_arg_named.txt b/test/prism/snapshots/seattlerb/call_block_arg_named.txt index f87c29cf2e..db6fc7a059 100644 --- a/test/prism/snapshots/seattlerb/call_block_arg_named.txt +++ b/test/prism/snapshots/seattlerb/call_block_arg_named.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -14,6 +16,7 @@ ├── closing_loc: (1,6)-(1,7) = ")" └── block: @ BlockArgumentNode (location: (1,2)-(1,6)) + ├── flags: ∅ ├── expression: │ @ CallNode (location: (1,3)-(1,6)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/call_carat.txt b/test/prism/snapshots/seattlerb/call_carat.txt index 856e9a7847..88ed832aca 100644 --- a/test/prism/snapshots/seattlerb/call_carat.txt +++ b/test/prism/snapshots/seattlerb/call_carat.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :^ @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_colon2.txt b/test/prism/snapshots/seattlerb/call_colon2.txt index 98bfc63126..85e39cd363 100644 --- a/test/prism/snapshots/seattlerb/call_colon2.txt +++ b/test/prism/snapshots/seattlerb/call_colon2.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ └── name: :A ├── call_operator_loc: (1,1)-(1,3) = "::" ├── name: :b diff --git a/test/prism/snapshots/seattlerb/call_colon_parens.txt b/test/prism/snapshots/seattlerb/call_colon_parens.txt index 6d10171a2b..19141c3413 100644 --- a/test/prism/snapshots/seattlerb/call_colon_parens.txt +++ b/test/prism/snapshots/seattlerb/call_colon_parens.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: (1,1)-(1,3) = "::" ├── name: :call diff --git a/test/prism/snapshots/seattlerb/call_div.txt b/test/prism/snapshots/seattlerb/call_div.txt index ba62fb87bd..55a410977c 100644 --- a/test/prism/snapshots/seattlerb/call_div.txt +++ b/test/prism/snapshots/seattlerb/call_div.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :/ @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_dot_parens.txt b/test/prism/snapshots/seattlerb/call_dot_parens.txt index c9b7084699..29b592a960 100644 --- a/test/prism/snapshots/seattlerb/call_dot_parens.txt +++ b/test/prism/snapshots/seattlerb/call_dot_parens.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: (1,1)-(1,2) = "." ├── name: :call diff --git a/test/prism/snapshots/seattlerb/call_env.txt b/test/prism/snapshots/seattlerb/call_env.txt index fd1f95388e..933621594f 100644 --- a/test/prism/snapshots/seattlerb/call_env.txt +++ b/test/prism/snapshots/seattlerb/call_env.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/call_eq3.txt b/test/prism/snapshots/seattlerb/call_eq3.txt index e636e15725..52e4b00c5c 100644 --- a/test/prism/snapshots/seattlerb/call_eq3.txt +++ b/test/prism/snapshots/seattlerb/call_eq3.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :=== @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_gt.txt b/test/prism/snapshots/seattlerb/call_gt.txt index 90f419a412..b1ee64e57c 100644 --- a/test/prism/snapshots/seattlerb/call_gt.txt +++ b/test/prism/snapshots/seattlerb/call_gt.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :> @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_kwsplat.txt b/test/prism/snapshots/seattlerb/call_kwsplat.txt index e0620dc5f0..17773e7693 100644 --- a/test/prism/snapshots/seattlerb/call_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/call_kwsplat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -18,9 +20,10 @@ │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocSplatNode (location: (1,2)-(1,5)) + │ ├── flags: ∅ │ ├── value: │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (1,2)-(1,4) = "**" ├── closing_loc: (1,5)-(1,6) = ")" diff --git a/test/prism/snapshots/seattlerb/call_leading_dots.txt b/test/prism/snapshots/seattlerb/call_leading_dots.txt index e8435d7e7a..5562afcd70 100644 --- a/test/prism/snapshots/seattlerb/call_leading_dots.txt +++ b/test/prism/snapshots/seattlerb/call_leading_dots.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,2)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,2)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(2,2)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt b/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt index e5dfb72372..f285e42cbf 100644 --- a/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt +++ b/test/prism/snapshots/seattlerb/call_leading_dots_comment.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,2)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,2)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(2,2)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_lt.txt b/test/prism/snapshots/seattlerb/call_lt.txt index 0020494e57..6c5b5f2213 100644 --- a/test/prism/snapshots/seattlerb/call_lt.txt +++ b/test/prism/snapshots/seattlerb/call_lt.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :< @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_lte.txt b/test/prism/snapshots/seattlerb/call_lte.txt index e6630a7f28..9fadb1f981 100644 --- a/test/prism/snapshots/seattlerb/call_lte.txt +++ b/test/prism/snapshots/seattlerb/call_lte.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :<= @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_not.txt b/test/prism/snapshots/seattlerb/call_not.txt index 86c6892303..e9df80fb9f 100644 --- a/test/prism/snapshots/seattlerb/call_not.txt +++ b/test/prism/snapshots/seattlerb/call_not.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,4)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 42 ├── call_operator_loc: ∅ ├── name: :! diff --git a/test/prism/snapshots/seattlerb/call_pipe.txt b/test/prism/snapshots/seattlerb/call_pipe.txt index 855e986ef6..8cf68211a9 100644 --- a/test/prism/snapshots/seattlerb/call_pipe.txt +++ b/test/prism/snapshots/seattlerb/call_pipe.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :| @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_rshift.txt b/test/prism/snapshots/seattlerb/call_rshift.txt index 26e593db18..28948a044f 100644 --- a/test/prism/snapshots/seattlerb/call_rshift.txt +++ b/test/prism/snapshots/seattlerb/call_rshift.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :>> @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_self_brackets.txt b/test/prism/snapshots/seattlerb/call_self_brackets.txt index 16ca69b5c2..e4f5e2c413 100644 --- a/test/prism/snapshots/seattlerb/call_self_brackets.txt +++ b/test/prism/snapshots/seattlerb/call_self_brackets.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: │ @ SelfNode (location: (1,0)-(1,4)) + │ └── flags: ∅ ├── call_operator_loc: ∅ ├── name: :[] ├── message_loc: (1,4)-(1,7) = "[1]" @@ -16,7 +19,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (1,6)-(1,7) = "]" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_spaceship.txt b/test/prism/snapshots/seattlerb/call_spaceship.txt index 8d43c3f971..4ea67f2e00 100644 --- a/test/prism/snapshots/seattlerb/call_spaceship.txt +++ b/test/prism/snapshots/seattlerb/call_spaceship.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :<=> @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt b/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt index 242db9e9cb..0e83d334ca 100644 --- a/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt +++ b/test/prism/snapshots/seattlerb/call_stabby_do_end_with_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,22)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -15,6 +17,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LambdaNode (location: (1,2)-(1,13)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── operator_loc: (1,2)-(1,4) = "->" │ ├── opening_loc: (1,5)-(1,7) = "do" @@ -22,20 +25,23 @@ │ ├── parameters: ∅ │ └── body: │ @ StatementsNode (location: (1,8)-(1,9)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,14)-(1,22)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,17)-(1,18)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,17)-(1,18)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 2 ├── opening_loc: (1,14)-(1,16) = "do" └── closing_loc: (1,19)-(1,22) = "end" diff --git a/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt b/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt index 7c3ab8dad8..705f8b8d02 100644 --- a/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt +++ b/test/prism/snapshots/seattlerb/call_stabby_with_braces_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -15,6 +17,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LambdaNode (location: (1,2)-(1,10)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── operator_loc: (1,2)-(1,4) = "->" │ ├── opening_loc: (1,5)-(1,6) = "{" @@ -22,20 +25,23 @@ │ ├── parameters: ∅ │ └── body: │ @ StatementsNode (location: (1,7)-(1,8)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,11)-(1,19)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,14)-(1,15)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,14)-(1,15)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 2 ├── opening_loc: (1,11)-(1,13) = "do" └── closing_loc: (1,16)-(1,19) = "end" diff --git a/test/prism/snapshots/seattlerb/call_star.txt b/test/prism/snapshots/seattlerb/call_star.txt index 49aee1672c..06bee81f30 100644 --- a/test/prism/snapshots/seattlerb/call_star.txt +++ b/test/prism/snapshots/seattlerb/call_star.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :* @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_star2.txt b/test/prism/snapshots/seattlerb/call_star2.txt index cc2532cc7c..bd367d2e75 100644 --- a/test/prism/snapshots/seattlerb/call_star2.txt +++ b/test/prism/snapshots/seattlerb/call_star2.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :** @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_trailing_comma.txt b/test/prism/snapshots/seattlerb/call_trailing_comma.txt index fe28a3ad3e..01cb77a25a 100644 --- a/test/prism/snapshots/seattlerb/call_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/call_trailing_comma.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -15,7 +17,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,2)-(1,3)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (1,4)-(1,5) = ")" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/call_trailing_dots.txt b/test/prism/snapshots/seattlerb/call_trailing_dots.txt index b0e23eb27b..73ffd855ad 100644 --- a/test/prism/snapshots/seattlerb/call_trailing_dots.txt +++ b/test/prism/snapshots/seattlerb/call_trailing_dots.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,1)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,1)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(2,1)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/call_unary_bang.txt b/test/prism/snapshots/seattlerb/call_unary_bang.txt index 782cc83b10..b08f070693 100644 --- a/test/prism/snapshots/seattlerb/call_unary_bang.txt +++ b/test/prism/snapshots/seattlerb/call_unary_bang.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,2)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,2)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,1)-(1,2)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :! diff --git a/test/prism/snapshots/seattlerb/case_in.txt b/test/prism/snapshots/seattlerb/case_in.txt index 950d66647e..6df3b407a6 100644 --- a/test/prism/snapshots/seattlerb/case_in.txt +++ b/test/prism/snapshots/seattlerb/case_in.txt @@ -1,34 +1,42 @@ @ ProgramNode (location: (1,0)-(111,3)) +├── flags: ∅ ├── locals: [:b, :_, :lhs, :x, :rhs, :c, :e] └── statements: @ StatementsNode (location: (1,0)-(111,3)) + ├── flags: ∅ └── body: (length: 28) ├── @ CaseMatchNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (1,5)-(1,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,5)-(1,6) = ":" │ │ ├── value_loc: (1,6)-(1,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (2,0)-(2,8)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ HashPatternNode (location: (2,4)-(2,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ AssocNode (location: (2,4)-(2,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (2,4)-(2,8)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "\"" │ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b" │ │ │ │ │ ├── closing_loc: (2,6)-(2,8) = "\":" │ │ │ │ │ └── unescaped: "b" │ │ │ │ ├── value: │ │ │ │ │ @ ImplicitNode (location: (2,5)-(2,6)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── value: │ │ │ │ │ @ LocalVariableTargetNode (location: (2,5)-(2,6)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :b │ │ │ │ │ └── depth: 0 │ │ │ │ └── operator_loc: ∅ @@ -42,27 +50,29 @@ │ ├── case_keyword_loc: (1,0)-(1,4) = "case" │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ CaseMatchNode (location: (5,0)-(7,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (5,5)-(5,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,5)-(5,6) = ":" │ │ ├── value_loc: (5,6)-(5,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (6,0)-(6,10)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayNode (location: (6,3)-(6,10)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ SymbolNode (location: (6,6)-(6,7)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (6,6)-(6,7) = "a" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "a" │ │ │ │ └── @ SymbolNode (location: (6,8)-(6,9)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (6,8)-(6,9) = "b" │ │ │ │ ├── closing_loc: ∅ @@ -76,15 +86,17 @@ │ ├── case_keyword_loc: (5,0)-(5,4) = "case" │ └── end_keyword_loc: (7,0)-(7,3) = "end" ├── @ CaseMatchNode (location: (9,0)-(11,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (9,5)-(9,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (9,5)-(9,6) = ":" │ │ ├── value_loc: (9,6)-(9,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (10,0)-(10,10)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayNode (location: (10,3)-(10,10)) │ │ │ ├── flags: ∅ @@ -110,27 +122,29 @@ │ ├── case_keyword_loc: (9,0)-(9,4) = "case" │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ CaseMatchNode (location: (13,0)-(15,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (13,5)-(13,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (13,5)-(13,6) = ":" │ │ ├── value_loc: (13,6)-(13,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (14,0)-(14,10)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayNode (location: (14,3)-(14,10)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 2) │ │ │ │ ├── @ SymbolNode (location: (14,6)-(14,7)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (14,6)-(14,7) = "a" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "a" │ │ │ │ └── @ SymbolNode (location: (14,8)-(14,9)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (14,8)-(14,9) = "b" │ │ │ │ ├── closing_loc: ∅ @@ -144,15 +158,17 @@ │ ├── case_keyword_loc: (13,0)-(13,4) = "case" │ └── end_keyword_loc: (15,0)-(15,3) = "end" ├── @ CaseMatchNode (location: (17,0)-(19,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (17,5)-(17,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (17,5)-(17,6) = ":" │ │ ├── value_loc: (17,6)-(17,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (18,0)-(18,10)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayNode (location: (18,3)-(18,10)) │ │ │ ├── flags: ∅ @@ -178,24 +194,27 @@ │ ├── case_keyword_loc: (17,0)-(17,4) = "case" │ └── end_keyword_loc: (19,0)-(19,3) = "end" ├── @ CaseMatchNode (location: (21,0)-(23,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (21,5)-(21,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (21,5)-(21,6) = ":" │ │ ├── value_loc: (21,6)-(21,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (22,0)-(22,10)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ParenthesesNode (location: (22,3)-(22,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ RangeNode (location: (22,4)-(22,9)) - │ │ │ │ ├── flags: exclude_end + │ │ │ │ ├── flags: static_literal, exclude_end │ │ │ │ ├── left: ∅ │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (22,7)-(22,9)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 10 │ │ │ │ └── operator_loc: (22,4)-(22,7) = "..." │ │ │ ├── opening_loc: (22,3)-(22,4) = "(" @@ -207,24 +226,27 @@ │ ├── case_keyword_loc: (21,0)-(21,4) = "case" │ └── end_keyword_loc: (23,0)-(23,3) = "end" ├── @ CaseMatchNode (location: (25,0)-(27,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (25,5)-(25,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (25,5)-(25,6) = ":" │ │ ├── value_loc: (25,6)-(25,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (26,0)-(26,9)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ParenthesesNode (location: (26,3)-(26,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ RangeNode (location: (26,4)-(26,8)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── left: ∅ │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (26,6)-(26,8)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 10 │ │ │ │ └── operator_loc: (26,4)-(26,6) = ".." │ │ │ ├── opening_loc: (26,3)-(26,4) = "(" @@ -236,23 +258,26 @@ │ ├── case_keyword_loc: (25,0)-(25,4) = "case" │ └── end_keyword_loc: (27,0)-(27,3) = "end" ├── @ CaseMatchNode (location: (29,0)-(31,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (29,5)-(29,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (29,5)-(29,6) = ":" │ │ ├── value_loc: (29,6)-(29,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (30,0)-(30,9)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ParenthesesNode (location: (30,3)-(30,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ RangeNode (location: (30,4)-(30,8)) - │ │ │ │ ├── flags: exclude_end + │ │ │ │ ├── flags: static_literal, exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (30,4)-(30,5)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── right: ∅ │ │ │ │ └── operator_loc: (30,5)-(30,8) = "..." @@ -265,27 +290,30 @@ │ ├── case_keyword_loc: (29,0)-(29,4) = "case" │ └── end_keyword_loc: (31,0)-(31,3) = "end" ├── @ CaseMatchNode (location: (33,0)-(35,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (33,5)-(33,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (33,5)-(33,6) = ":" │ │ ├── value_loc: (33,6)-(33,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (34,0)-(34,10)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ParenthesesNode (location: (34,3)-(34,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ RangeNode (location: (34,4)-(34,9)) - │ │ │ │ ├── flags: exclude_end + │ │ │ │ ├── flags: static_literal, exclude_end │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (34,4)-(34,5)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (34,8)-(34,9)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 3 │ │ │ │ └── operator_loc: (34,5)-(34,8) = "..." │ │ │ ├── opening_loc: (34,3)-(34,4) = "(" @@ -297,20 +325,23 @@ │ ├── case_keyword_loc: (33,0)-(33,4) = "case" │ └── end_keyword_loc: (35,0)-(35,3) = "end" ├── @ CaseMatchNode (location: (37,0)-(39,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (37,5)-(37,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (37,5)-(37,6) = ":" │ │ ├── value_loc: (37,6)-(37,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (38,0)-(38,7)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ParenthesesNode (location: (38,3)-(38,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ IntegerNode (location: (38,4)-(38,6)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ ├── opening_loc: (38,3)-(38,4) = "(" │ │ │ └── closing_loc: (38,6)-(38,7) = ")" @@ -321,21 +352,25 @@ │ ├── case_keyword_loc: (37,0)-(37,4) = "case" │ └── end_keyword_loc: (39,0)-(39,3) = "end" ├── @ CaseMatchNode (location: (41,0)-(43,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (41,5)-(41,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (41,5)-(41,6) = ":" │ │ ├── value_loc: (41,6)-(41,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (42,0)-(42,8)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ HashPatternNode (location: (42,3)-(42,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── elements: (length: 0) │ │ │ ├── rest: │ │ │ │ @ NoKeywordsParameterNode (location: (42,3)-(42,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (42,3)-(42,5) = "**" │ │ │ │ └── keyword_loc: (42,5)-(42,8) = "nil" │ │ │ ├── opening_loc: ∅ @@ -347,18 +382,20 @@ │ ├── case_keyword_loc: (41,0)-(41,4) = "case" │ └── end_keyword_loc: (43,0)-(43,3) = "end" ├── @ CaseMatchNode (location: (45,0)-(47,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (45,5)-(45,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (45,5)-(45,6) = ":" │ │ ├── value_loc: (45,6)-(45,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (46,0)-(46,11)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ RegularExpressionNode (location: (46,3)-(46,11)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (46,3)-(46,4) = "/" │ │ │ ├── content_loc: (46,4)-(46,10) = "regexp" │ │ │ ├── closing_loc: (46,10)-(46,11) = "/" @@ -370,35 +407,40 @@ │ ├── case_keyword_loc: (45,0)-(45,4) = "case" │ └── end_keyword_loc: (47,0)-(47,3) = "end" ├── @ CaseMatchNode (location: (49,0)-(51,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (49,5)-(49,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (49,5)-(49,6) = ":" │ │ ├── value_loc: (49,6)-(49,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (50,0)-(50,13)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (50,3)-(50,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ SymbolNode (location: (50,3)-(50,5)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (50,3)-(50,4) = ":" │ │ │ │ ├── value_loc: (50,4)-(50,5) = "b" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (50,7)-(50,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (50,7)-(50,8) = "*" │ │ │ │ └── expression: │ │ │ │ @ LocalVariableTargetNode (location: (50,8)-(50,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :_ │ │ │ │ └── depth: 0 │ │ │ ├── posts: (length: 1) │ │ │ │ └── @ SymbolNode (location: (50,11)-(50,13)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (50,11)-(50,12) = ":" │ │ │ │ ├── value_loc: (50,12)-(50,13) = "c" │ │ │ │ ├── closing_loc: ∅ @@ -412,30 +454,34 @@ │ ├── case_keyword_loc: (49,0)-(49,4) = "case" │ └── end_keyword_loc: (51,0)-(51,3) = "end" ├── @ CaseMatchNode (location: (53,0)-(55,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (53,5)-(53,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (53,5)-(53,6) = ":" │ │ ├── value_loc: (53,6)-(53,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (54,0)-(54,11)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (54,3)-(54,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ SymbolNode (location: (54,3)-(54,5)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (54,3)-(54,4) = ":" │ │ │ │ │ ├── value_loc: (54,4)-(54,5) = "b" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "b" │ │ │ │ └── @ ArrayPatternNode (location: (54,7)-(54,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ SymbolNode (location: (54,8)-(54,10)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (54,8)-(54,9) = ":" │ │ │ │ │ ├── value_loc: (54,9)-(54,10) = "c" │ │ │ │ │ ├── closing_loc: ∅ @@ -455,19 +501,23 @@ │ ├── case_keyword_loc: (53,0)-(53,4) = "case" │ └── end_keyword_loc: (55,0)-(55,3) = "end" ├── @ CaseMatchNode (location: (57,0)-(59,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (57,5)-(57,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (57,5)-(57,6) = ":" │ │ ├── value_loc: (57,6)-(57,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (58,0)-(58,11)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (58,3)-(58,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: │ │ │ │ @ ConstantReadNode (location: (58,3)-(58,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Symbol │ │ │ ├── requireds: (length: 0) │ │ │ ├── rest: ∅ @@ -481,36 +531,45 @@ │ ├── case_keyword_loc: (57,0)-(57,4) = "case" │ └── end_keyword_loc: (59,0)-(59,3) = "end" ├── @ CaseMatchNode (location: (61,0)-(63,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (61,5)-(61,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (61,5)-(61,6) = ":" │ │ ├── value_loc: (61,6)-(61,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (62,0)-(62,24)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ FindPatternNode (location: (62,3)-(62,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: │ │ │ │ @ ConstantReadNode (location: (62,3)-(62,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Symbol │ │ │ ├── left: │ │ │ │ @ SplatNode (location: (62,10)-(62,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (62,10)-(62,11) = "*" │ │ │ │ └── expression: │ │ │ │ @ LocalVariableTargetNode (location: (62,11)-(62,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :lhs │ │ │ │ └── depth: 0 │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ LocalVariableTargetNode (location: (62,16)-(62,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :x │ │ │ │ └── depth: 0 │ │ │ ├── right: │ │ │ │ @ SplatNode (location: (62,19)-(62,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (62,19)-(62,20) = "*" │ │ │ │ └── expression: │ │ │ │ @ LocalVariableTargetNode (location: (62,20)-(62,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :rhs │ │ │ │ └── depth: 0 │ │ │ ├── opening_loc: (62,9)-(62,10) = "(" @@ -522,36 +581,45 @@ │ ├── case_keyword_loc: (61,0)-(61,4) = "case" │ └── end_keyword_loc: (63,0)-(63,3) = "end" ├── @ CaseMatchNode (location: (65,0)-(67,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (65,5)-(65,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (65,5)-(65,6) = ":" │ │ ├── value_loc: (65,6)-(65,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (66,0)-(66,24)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ FindPatternNode (location: (66,3)-(66,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: │ │ │ │ @ ConstantReadNode (location: (66,3)-(66,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Symbol │ │ │ ├── left: │ │ │ │ @ SplatNode (location: (66,10)-(66,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (66,10)-(66,11) = "*" │ │ │ │ └── expression: │ │ │ │ @ LocalVariableTargetNode (location: (66,11)-(66,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :lhs │ │ │ │ └── depth: 0 │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ LocalVariableTargetNode (location: (66,16)-(66,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :x │ │ │ │ └── depth: 0 │ │ │ ├── right: │ │ │ │ @ SplatNode (location: (66,19)-(66,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (66,19)-(66,20) = "*" │ │ │ │ └── expression: │ │ │ │ @ LocalVariableTargetNode (location: (66,20)-(66,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :rhs │ │ │ │ └── depth: 0 │ │ │ ├── opening_loc: (66,9)-(66,10) = "[" @@ -563,28 +631,34 @@ │ ├── case_keyword_loc: (65,0)-(65,4) = "case" │ └── end_keyword_loc: (67,0)-(67,3) = "end" ├── @ CaseMatchNode (location: (69,0)-(71,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (69,5)-(69,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (69,5)-(69,6) = ":" │ │ ├── value_loc: (69,6)-(69,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (70,0)-(70,22)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (70,3)-(70,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ LambdaNode (location: (70,4)-(70,18)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [:b] │ │ │ │ │ ├── operator_loc: (70,4)-(70,6) = "->" │ │ │ │ │ ├── opening_loc: (70,10)-(70,11) = "{" │ │ │ │ │ ├── closing_loc: (70,17)-(70,18) = "}" │ │ │ │ │ ├── parameters: │ │ │ │ │ │ @ BlockParametersNode (location: (70,6)-(70,9)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── parameters: │ │ │ │ │ │ │ @ ParametersNode (location: (70,7)-(70,8)) + │ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ │ │ │ └── @ RequiredParameterNode (location: (70,7)-(70,8)) │ │ │ │ │ │ │ │ ├── flags: ∅ @@ -600,9 +674,12 @@ │ │ │ │ │ │ └── closing_loc: (70,8)-(70,9) = ")" │ │ │ │ │ └── body: │ │ │ │ │ @ StatementsNode (location: (70,12)-(70,16)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ TrueNode (location: (70,12)-(70,16)) + │ │ │ │ │ └── flags: newline, static_literal │ │ │ │ └── @ LocalVariableTargetNode (location: (70,20)-(70,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :c │ │ │ │ └── depth: 0 │ │ │ ├── rest: ∅ @@ -616,49 +693,58 @@ │ ├── case_keyword_loc: (69,0)-(69,4) = "case" │ └── end_keyword_loc: (71,0)-(71,3) = "end" ├── @ CaseMatchNode (location: (73,0)-(75,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (73,5)-(73,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (73,5)-(73,6) = ":" │ │ ├── value_loc: (73,6)-(73,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (74,0)-(74,28)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (74,3)-(74,28)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 4) │ │ │ │ ├── @ SymbolNode (location: (74,4)-(74,6)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (74,4)-(74,5) = ":" │ │ │ │ │ ├── value_loc: (74,5)-(74,6) = "a" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "a" │ │ │ │ ├── @ LocalVariableTargetNode (location: (74,8)-(74,9)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :b │ │ │ │ │ └── depth: 0 │ │ │ │ ├── @ LocalVariableTargetNode (location: (74,11)-(74,12)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :c │ │ │ │ │ └── depth: 0 │ │ │ │ └── @ ArrayPatternNode (location: (74,14)-(74,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ SymbolNode (location: (74,15)-(74,17)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (74,15)-(74,16) = ":" │ │ │ │ │ ├── value_loc: (74,16)-(74,17) = "d" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "d" │ │ │ │ ├── rest: │ │ │ │ │ @ SplatNode (location: (74,19)-(74,21)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── operator_loc: (74,19)-(74,20) = "*" │ │ │ │ │ └── expression: │ │ │ │ │ @ LocalVariableTargetNode (location: (74,20)-(74,21)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :e │ │ │ │ │ └── depth: 0 │ │ │ │ ├── posts: (length: 1) │ │ │ │ │ └── @ NilNode (location: (74,23)-(74,26)) + │ │ │ │ │ └── flags: static_literal │ │ │ │ ├── opening_loc: (74,14)-(74,15) = "[" │ │ │ │ └── closing_loc: (74,26)-(74,27) = "]" │ │ │ ├── rest: ∅ @@ -672,27 +758,33 @@ │ ├── case_keyword_loc: (73,0)-(73,4) = "case" │ └── end_keyword_loc: (75,0)-(75,3) = "end" ├── @ CaseMatchNode (location: (77,0)-(79,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (77,5)-(77,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (77,5)-(77,6) = ":" │ │ ├── value_loc: (77,6)-(77,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (78,0)-(78,12)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (78,3)-(78,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ ConstantReadNode (location: (78,4)-(78,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :A │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (78,7)-(78,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (78,7)-(78,8) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── posts: (length: 1) │ │ │ │ └── @ ConstantReadNode (location: (78,10)-(78,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :B │ │ │ ├── opening_loc: (78,3)-(78,4) = "[" │ │ │ └── closing_loc: (78,11)-(78,12) = "]" @@ -703,29 +795,34 @@ │ ├── case_keyword_loc: (77,0)-(77,4) = "case" │ └── end_keyword_loc: (79,0)-(79,3) = "end" ├── @ CaseMatchNode (location: (81,0)-(83,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (81,5)-(81,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (81,5)-(81,6) = ":" │ │ ├── value_loc: (81,6)-(81,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (82,0)-(82,22)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (82,3)-(82,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ ArrayPatternNode (location: (82,4)-(82,11)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── constant: ∅ │ │ │ │ │ ├── requireds: (length: 2) │ │ │ │ │ │ ├── @ SymbolNode (location: (82,5)-(82,7)) - │ │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ │ ├── opening_loc: (82,5)-(82,6) = ":" │ │ │ │ │ │ │ ├── value_loc: (82,6)-(82,7) = "b" │ │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ │ └── unescaped: "b" │ │ │ │ │ │ └── @ LocalVariableTargetNode (location: (82,9)-(82,10)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :c │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ ├── rest: ∅ @@ -733,17 +830,20 @@ │ │ │ │ │ ├── opening_loc: (82,4)-(82,5) = "[" │ │ │ │ │ └── closing_loc: (82,10)-(82,11) = "]" │ │ │ │ └── @ ArrayPatternNode (location: (82,13)-(82,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── requireds: (length: 2) │ │ │ │ │ ├── @ SymbolNode (location: (82,14)-(82,16)) - │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ ├── opening_loc: (82,14)-(82,15) = ":" │ │ │ │ │ │ ├── value_loc: (82,15)-(82,16) = "d" │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ └── unescaped: "d" │ │ │ │ │ └── @ PinnedVariableNode (location: (82,18)-(82,20)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── variable: │ │ │ │ │ │ @ LocalVariableReadNode (location: (82,19)-(82,20)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :e │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ └── operator_loc: (82,18)-(82,19) = "^" @@ -762,17 +862,20 @@ │ ├── case_keyword_loc: (81,0)-(81,4) = "case" │ └── end_keyword_loc: (83,0)-(83,3) = "end" ├── @ CaseMatchNode (location: (85,0)-(87,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (85,5)-(85,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (85,5)-(85,6) = ":" │ │ ├── value_loc: (85,6)-(85,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (86,0)-(86,5)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (86,3)-(86,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── rest: ∅ @@ -786,20 +889,24 @@ │ ├── case_keyword_loc: (85,0)-(85,4) = "case" │ └── end_keyword_loc: (87,0)-(87,3) = "end" ├── @ CaseMatchNode (location: (89,0)-(91,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (89,5)-(89,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (89,5)-(89,6) = ":" │ │ ├── value_loc: (89,6)-(89,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (90,0)-(90,9)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (90,3)-(90,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ PinnedExpressionNode (location: (90,4)-(90,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── expression: │ │ │ │ │ @ CallNode (location: (90,6)-(90,7)) │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -825,32 +932,41 @@ │ ├── case_keyword_loc: (89,0)-(89,4) = "case" │ └── end_keyword_loc: (91,0)-(91,3) = "end" ├── @ CaseMatchNode (location: (93,0)-(95,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (93,5)-(93,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (93,5)-(93,6) = ":" │ │ ├── value_loc: (93,6)-(93,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (94,0)-(94,19)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (94,3)-(94,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 3) │ │ │ │ ├── @ PinnedVariableNode (location: (94,4)-(94,7)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── variable: │ │ │ │ │ │ @ InstanceVariableReadNode (location: (94,5)-(94,7)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── name: :@a │ │ │ │ │ └── operator_loc: (94,4)-(94,5) = "^" │ │ │ │ ├── @ PinnedVariableNode (location: (94,9)-(94,12)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── variable: │ │ │ │ │ │ @ GlobalVariableReadNode (location: (94,10)-(94,12)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── name: :$b │ │ │ │ │ └── operator_loc: (94,9)-(94,10) = "^" │ │ │ │ └── @ PinnedVariableNode (location: (94,14)-(94,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── variable: │ │ │ │ │ @ ClassVariableReadNode (location: (94,15)-(94,18)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :@@c │ │ │ │ └── operator_loc: (94,14)-(94,15) = "^" │ │ │ ├── rest: ∅ @@ -864,15 +980,17 @@ │ ├── case_keyword_loc: (93,0)-(93,4) = "case" │ └── end_keyword_loc: (95,0)-(95,3) = "end" ├── @ CaseMatchNode (location: (97,0)-(99,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (97,5)-(97,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (97,5)-(97,6) = ":" │ │ ├── value_loc: (97,6)-(97,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (98,0)-(98,12)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ XStringNode (location: (98,3)-(98,12)) │ │ │ ├── flags: ∅ @@ -887,22 +1005,28 @@ │ ├── case_keyword_loc: (97,0)-(97,4) = "case" │ └── end_keyword_loc: (99,0)-(99,3) = "end" ├── @ CaseMatchNode (location: (101,0)-(103,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (101,5)-(101,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (101,5)-(101,6) = ":" │ │ ├── value_loc: (101,6)-(101,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (102,0)-(102,16)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (102,3)-(102,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── requireds: (length: 3) │ │ │ │ ├── @ NilNode (location: (102,3)-(102,6)) + │ │ │ │ │ └── flags: static_literal │ │ │ │ ├── @ NilNode (location: (102,8)-(102,11)) + │ │ │ │ │ └── flags: static_literal │ │ │ │ └── @ NilNode (location: (102,13)-(102,16)) + │ │ │ │ └── flags: static_literal │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── opening_loc: ∅ @@ -914,31 +1038,37 @@ │ ├── case_keyword_loc: (101,0)-(101,4) = "case" │ └── end_keyword_loc: (103,0)-(103,3) = "end" ├── @ CaseMatchNode (location: (105,0)-(107,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ SymbolNode (location: (105,5)-(105,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (105,5)-(105,6) = ":" │ │ ├── value_loc: (105,6)-(105,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (106,0)-(106,11)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ HashPatternNode (location: (106,3)-(106,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ AssocNode (location: (106,5)-(106,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (106,5)-(106,9)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (106,5)-(106,6) = "\"" │ │ │ │ │ ├── value_loc: (106,6)-(106,7) = "b" │ │ │ │ │ ├── closing_loc: (106,7)-(106,9) = "\":" │ │ │ │ │ └── unescaped: "b" │ │ │ │ ├── value: │ │ │ │ │ @ ImplicitNode (location: (106,6)-(106,7)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── value: │ │ │ │ │ @ LocalVariableTargetNode (location: (106,6)-(106,7)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :b │ │ │ │ │ └── depth: 0 │ │ │ │ └── operator_loc: ∅ @@ -952,17 +1082,20 @@ │ ├── case_keyword_loc: (105,0)-(105,4) = "case" │ └── end_keyword_loc: (107,0)-(107,3) = "end" └── @ CaseMatchNode (location: (109,0)-(111,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (109,5)-(109,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (109,5)-(109,6) = ":" │ ├── value_loc: (109,6)-(109,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (110,0)-(110,5)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (110,3)-(110,5)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 0) │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_31.txt b/test/prism/snapshots/seattlerb/case_in_31.txt index fdf5ce2a29..f2bb9dac28 100644 --- a/test/prism/snapshots/seattlerb/case_in_31.txt +++ b/test/prism/snapshots/seattlerb/case_in_31.txt @@ -1,33 +1,40 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [:c] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,11)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ SymbolNode (location: (2,4)-(2,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (2,4)-(2,5) = ":" │ │ │ ├── value_loc: (2,5)-(2,6) = "b" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b" │ │ ├── rest: │ │ │ @ SplatNode (location: (2,8)-(2,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,8)-(2,9) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (2,9)-(2,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :c │ │ │ └── depth: 0 │ │ ├── posts: (length: 0) @@ -35,9 +42,10 @@ │ │ └── closing_loc: (2,10)-(2,11) = "]" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "d" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_37.txt b/test/prism/snapshots/seattlerb/case_in_37.txt index 1a1d887b4f..9083ac2d41 100644 --- a/test/prism/snapshots/seattlerb/case_in_37.txt +++ b/test/prism/snapshots/seattlerb/case_in_37.txt @@ -1,38 +1,47 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,19)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,5)-(2,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,5)-(2,7)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b" │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":" │ │ │ │ └── unescaped: "b" │ │ │ ├── value: │ │ │ │ @ ArrayPatternNode (location: (2,8)-(2,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ ConstantReadNode (location: (2,9)-(2,13)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :Hash │ │ │ │ ├── rest: │ │ │ │ │ @ SplatNode (location: (2,15)-(2,16)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── operator_loc: (2,15)-(2,16) = "*" │ │ │ │ │ └── expression: ∅ │ │ │ │ ├── posts: (length: 0) @@ -44,9 +53,10 @@ │ │ └── closing_loc: (2,18)-(2,19) = "}" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "c" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_42.txt b/test/prism/snapshots/seattlerb/case_in_42.txt index f985d6bc8d..a498fa63b0 100644 --- a/test/prism/snapshots/seattlerb/case_in_42.txt +++ b/test/prism/snapshots/seattlerb/case_in_42.txt @@ -1,33 +1,40 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [:_] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(3,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,18)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,9)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ SymbolNode (location: (2,3)-(2,5)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (2,3)-(2,4) = ":" │ │ │ ├── value_loc: (2,4)-(2,5) = "b" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b" │ │ ├── rest: │ │ │ @ SplatNode (location: (2,7)-(2,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,7)-(2,8) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (2,8)-(2,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :_ │ │ │ └── depth: 0 │ │ ├── posts: (length: 0) @@ -35,8 +42,10 @@ │ │ └── closing_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,15)-(2,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (2,15)-(2,18)) + │ │ └── flags: newline, static_literal │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: (2,10)-(2,14) = "then" ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_42_2.txt b/test/prism/snapshots/seattlerb/case_in_42_2.txt index c399ba1bfa..909874bc0c 100644 --- a/test/prism/snapshots/seattlerb/case_in_42_2.txt +++ b/test/prism/snapshots/seattlerb/case_in_42_2.txt @@ -1,29 +1,37 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [:list] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(3,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,20)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,11)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (2,3)-(2,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (2,5)-(2,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,5)-(2,6) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (2,6)-(2,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :list │ │ │ └── depth: 0 │ │ ├── posts: (length: 0) @@ -31,8 +39,10 @@ │ │ └── closing_loc: (2,10)-(2,11) = ")" │ ├── statements: │ │ @ StatementsNode (location: (2,17)-(2,20)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (2,17)-(2,20)) + │ │ └── flags: newline, static_literal │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: (2,12)-(2,16) = "then" ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_47.txt b/test/prism/snapshots/seattlerb/case_in_47.txt index 99baebce05..fdc31f3bba 100644 --- a/test/prism/snapshots/seattlerb/case_in_47.txt +++ b/test/prism/snapshots/seattlerb/case_in_47.txt @@ -1,35 +1,41 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,14)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (2,4)-(2,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,4)-(2,5) = "*" │ │ │ └── expression: ∅ │ │ ├── posts: (length: 2) │ │ │ ├── @ SymbolNode (location: (2,7)-(2,9)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (2,7)-(2,8) = ":" │ │ │ │ ├── value_loc: (2,8)-(2,9) = "b" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ └── @ SymbolNode (location: (2,11)-(2,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (2,11)-(2,12) = ":" │ │ │ ├── value_loc: (2,12)-(2,13) = "c" │ │ │ ├── closing_loc: ∅ @@ -38,9 +44,10 @@ │ │ └── closing_loc: (2,13)-(2,14) = "]" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "d" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_67.txt b/test/prism/snapshots/seattlerb/case_in_67.txt index 4bab417d57..372b8fe221 100644 --- a/test/prism/snapshots/seattlerb/case_in_67.txt +++ b/test/prism/snapshots/seattlerb/case_in_67.txt @@ -1,31 +1,37 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(3,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,15)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ RangeNode (location: (2,3)-(2,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (2,3)-(2,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (2,4)-(2,6) = ".." │ ├── statements: │ │ @ StatementsNode (location: (2,12)-(2,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (2,12)-(2,15)) + │ │ └── flags: newline, static_literal │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: (2,7)-(2,11) = "then" ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_86.txt b/test/prism/snapshots/seattlerb/case_in_86.txt index 082aa74eca..2cb5dd6867 100644 --- a/test/prism/snapshots/seattlerb/case_in_86.txt +++ b/test/prism/snapshots/seattlerb/case_in_86.txt @@ -1,21 +1,24 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(3,3)) + ├── flags: newline ├── predicate: │ @ ArrayNode (location: (1,5)-(1,13)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (1,6)-(1,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,6)-(1,7) = ":" │ │ │ ├── value_loc: (1,7)-(1,8) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (1,10)-(1,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,10)-(1,11) = ":" │ │ ├── value_loc: (1,11)-(1,12) = "b" │ │ ├── closing_loc: ∅ @@ -24,17 +27,21 @@ │ └── closing_loc: (1,12)-(1,13) = "]" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,25)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,16)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ ConstantPathNode (location: (2,3)-(2,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: ∅ │ │ │ ├── name: :NilClass │ │ │ ├── delimiter_loc: (2,3)-(2,5) = "::" │ │ │ └── name_loc: (2,5)-(2,13) = "NilClass" │ │ ├── rest: │ │ │ @ SplatNode (location: (2,15)-(2,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,15)-(2,16) = "*" │ │ │ └── expression: ∅ │ │ ├── posts: (length: 0) @@ -42,8 +49,10 @@ │ │ └── closing_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,22)-(2,25)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (2,22)-(2,25)) + │ │ └── flags: newline, static_literal │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: (2,17)-(2,21) = "then" ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_86_2.txt b/test/prism/snapshots/seattlerb/case_in_86_2.txt index 346264f907..f02387c52d 100644 --- a/test/prism/snapshots/seattlerb/case_in_86_2.txt +++ b/test/prism/snapshots/seattlerb/case_in_86_2.txt @@ -1,21 +1,24 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(3,3)) + ├── flags: newline ├── predicate: │ @ ArrayNode (location: (1,5)-(1,13)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (1,6)-(1,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,6)-(1,7) = ":" │ │ │ ├── value_loc: (1,7)-(1,8) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (1,10)-(1,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,10)-(1,11) = ":" │ │ ├── value_loc: (1,11)-(1,12) = "b" │ │ ├── closing_loc: ∅ @@ -24,16 +27,20 @@ │ └── closing_loc: (1,12)-(1,13) = "]" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,25)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,16)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (2,3)-(2,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,3)-(2,4) = "*" │ │ │ └── expression: ∅ │ │ ├── posts: (length: 1) │ │ │ └── @ ConstantPathNode (location: (2,6)-(2,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: ∅ │ │ │ ├── name: :NilClass │ │ │ ├── delimiter_loc: (2,6)-(2,8) = "::" @@ -42,8 +49,10 @@ │ │ └── closing_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,22)-(2,25)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (2,22)-(2,25)) + │ │ └── flags: newline, static_literal │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: (2,17)-(2,21) = "then" ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_array_pat_const.txt b/test/prism/snapshots/seattlerb/case_in_array_pat_const.txt index f361e8d458..64684df203 100644 --- a/test/prism/snapshots/seattlerb/case_in_array_pat_const.txt +++ b/test/prism/snapshots/seattlerb/case_in_array_pat_const.txt @@ -1,25 +1,32 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [:c] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,7)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (2,3)-(2,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :B │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (2,5)-(2,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :c │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -28,9 +35,10 @@ │ │ └── closing_loc: (2,6)-(2,7) = "]" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "d" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_array_pat_const2.txt b/test/prism/snapshots/seattlerb/case_in_array_pat_const2.txt index d6fb80ef90..6a14e0271a 100644 --- a/test/prism/snapshots/seattlerb/case_in_array_pat_const2.txt +++ b/test/prism/snapshots/seattlerb/case_in_array_pat_const2.txt @@ -1,30 +1,38 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [:d] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,10)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantPathNode (location: (2,3)-(2,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :B │ │ │ ├── name: :C │ │ │ ├── delimiter_loc: (2,4)-(2,6) = "::" │ │ │ └── name_loc: (2,6)-(2,7) = "C" │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (2,8)-(2,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :d │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -33,9 +41,10 @@ │ │ └── closing_loc: (2,9)-(2,10) = "]" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "e" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_array_pat_paren_assign.txt b/test/prism/snapshots/seattlerb/case_in_array_pat_paren_assign.txt index 8d185b250a..9d617078fd 100644 --- a/test/prism/snapshots/seattlerb/case_in_array_pat_paren_assign.txt +++ b/test/prism/snapshots/seattlerb/case_in_array_pat_paren_assign.txt @@ -1,30 +1,39 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [:d] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,12)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (2,3)-(2,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :B │ │ ├── requireds: (length: 1) │ │ │ └── @ CapturePatternNode (location: (2,5)-(2,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ ConstantReadNode (location: (2,5)-(2,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :C │ │ │ ├── target: │ │ │ │ @ LocalVariableTargetNode (location: (2,10)-(2,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :d │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: (2,7)-(2,9) = "=>" @@ -34,9 +43,10 @@ │ │ └── closing_loc: (2,11)-(2,12) = ")" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "d" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_const.txt b/test/prism/snapshots/seattlerb/case_in_const.txt index c4b838aa1d..73f681c7dc 100644 --- a/test/prism/snapshots/seattlerb/case_in_const.txt +++ b/test/prism/snapshots/seattlerb/case_in_const.txt @@ -1,22 +1,29 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ ConstantReadNode (location: (1,5)-(1,10)) + │ ├── flags: ∅ │ └── name: :Array ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ConstantReadNode (location: (2,3)-(2,8)) + │ │ ├── flags: ∅ │ │ └── name: :Class │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "b" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_else.txt b/test/prism/snapshots/seattlerb/case_in_else.txt index 5eae7fc1ea..0ad3935ce8 100644 --- a/test/prism/snapshots/seattlerb/case_in_else.txt +++ b/test/prism/snapshots/seattlerb/case_in_else.txt @@ -1,22 +1,29 @@ @ ProgramNode (location: (1,0)-(6,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(6,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(6,3)) + ├── flags: newline ├── predicate: │ @ ConstantReadNode (location: (1,5)-(1,10)) + │ ├── flags: ∅ │ └── name: :Array ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ConstantReadNode (location: (2,3)-(2,8)) + │ │ ├── flags: ∅ │ │ └── name: :Class │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "b" │ │ ├── closing_loc: ∅ @@ -25,12 +32,14 @@ │ └── then_loc: ∅ ├── consequent: │ @ ElseNode (location: (4,0)-(6,3)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (4,0)-(4,4) = "else" │ ├── statements: │ │ @ StatementsNode (location: (5,2)-(5,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (5,2)-(5,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,2)-(5,3) = ":" │ │ ├── value_loc: (5,3)-(5,4) = "c" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_find.txt b/test/prism/snapshots/seattlerb/case_in_find.txt index f84c4c30d0..79d737afa7 100644 --- a/test/prism/snapshots/seattlerb/case_in_find.txt +++ b/test/prism/snapshots/seattlerb/case_in_find.txt @@ -1,40 +1,49 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(3,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,2)-(2,15)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (2,5)-(2,15)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── left: │ │ │ @ SplatNode (location: (2,5)-(2,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,5)-(2,6) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (2,6)-(2,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── requireds: (length: 1) │ │ │ └── @ SymbolNode (location: (2,9)-(2,11)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (2,9)-(2,10) = ":" │ │ │ ├── value_loc: (2,10)-(2,11) = "+" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "+" │ │ ├── right: │ │ │ @ SplatNode (location: (2,13)-(2,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,13)-(2,14) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (2,14)-(2,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── opening_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_find_array.txt b/test/prism/snapshots/seattlerb/case_in_find_array.txt index a757f80346..b874867062 100644 --- a/test/prism/snapshots/seattlerb/case_in_find_array.txt +++ b/test/prism/snapshots/seattlerb/case_in_find_array.txt @@ -1,37 +1,45 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [:c] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(3,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,16)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ FindPatternNode (location: (2,3)-(2,16)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── left: │ │ │ @ SplatNode (location: (2,4)-(2,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,4)-(2,5) = "*" │ │ │ └── expression: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ SymbolNode (location: (2,7)-(2,9)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (2,7)-(2,8) = ":" │ │ │ │ ├── value_loc: (2,8)-(2,9) = "b" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ └── @ LocalVariableTargetNode (location: (2,11)-(2,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :c │ │ │ └── depth: 0 │ │ ├── right: │ │ │ @ SplatNode (location: (2,14)-(2,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,14)-(2,15) = "*" │ │ │ └── expression: ∅ │ │ ├── opening_loc: (2,3)-(2,4) = "[" diff --git a/test/prism/snapshots/seattlerb/case_in_hash_pat.txt b/test/prism/snapshots/seattlerb/case_in_hash_pat.txt index e813efa9ee..3a106e973a 100644 --- a/test/prism/snapshots/seattlerb/case_in_hash_pat.txt +++ b/test/prism/snapshots/seattlerb/case_in_hash_pat.txt @@ -1,26 +1,32 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,21)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 2) │ │ │ ├── @ AssocNode (location: (2,5)-(2,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (2,5)-(2,7)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b" │ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":" @@ -34,9 +40,10 @@ │ │ │ │ │ └── unescaped: "c" │ │ │ │ └── operator_loc: ∅ │ │ │ └── @ AssocNode (location: (2,13)-(2,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,13)-(2,15)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,13)-(2,14) = "d" │ │ │ │ ├── closing_loc: (2,14)-(2,15) = ":" @@ -54,9 +61,10 @@ │ │ └── closing_loc: (2,20)-(2,21) = "}" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "f" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_hash_pat_assign.txt b/test/prism/snapshots/seattlerb/case_in_hash_pat_assign.txt index 790d9d63ff..8494b71025 100644 --- a/test/prism/snapshots/seattlerb/case_in_hash_pat_assign.txt +++ b/test/prism/snapshots/seattlerb/case_in_hash_pat_assign.txt @@ -1,45 +1,55 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [:x, :f] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,34)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 3) │ │ │ ├── @ AssocNode (location: (2,5)-(2,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (2,5)-(2,7)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "b" │ │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":" │ │ │ │ │ └── unescaped: "b" │ │ │ │ ├── value: │ │ │ │ │ @ CapturePatternNode (location: (2,8)-(2,20)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── value: │ │ │ │ │ │ @ ConstantReadNode (location: (2,8)-(2,15)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── name: :Integer │ │ │ │ │ ├── target: │ │ │ │ │ │ @ LocalVariableTargetNode (location: (2,19)-(2,20)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :x │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ └── operator_loc: (2,16)-(2,18) = "=>" │ │ │ │ └── operator_loc: ∅ │ │ │ ├── @ AssocNode (location: (2,22)-(2,28)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (2,22)-(2,24)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (2,22)-(2,23) = "d" │ │ │ │ │ ├── closing_loc: (2,23)-(2,24) = ":" @@ -53,17 +63,20 @@ │ │ │ │ │ └── unescaped: "e" │ │ │ │ └── operator_loc: ∅ │ │ │ └── @ AssocNode (location: (2,30)-(2,32)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,30)-(2,32)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,30)-(2,31) = "f" │ │ │ │ ├── closing_loc: (2,31)-(2,32) = ":" │ │ │ │ └── unescaped: "f" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (2,30)-(2,31)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ LocalVariableTargetNode (location: (2,30)-(2,31)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :f │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ @@ -72,9 +85,10 @@ │ │ └── closing_loc: (2,33)-(2,34) = "}" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "g" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_hash_pat_paren_assign.txt b/test/prism/snapshots/seattlerb/case_in_hash_pat_paren_assign.txt index 4c8cfd0e54..c2995013dd 100644 --- a/test/prism/snapshots/seattlerb/case_in_hash_pat_paren_assign.txt +++ b/test/prism/snapshots/seattlerb/case_in_hash_pat_paren_assign.txt @@ -1,35 +1,42 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,11)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (2,3)-(2,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :B │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,5)-(2,10)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,5)-(2,7)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,5)-(2,6) = "a" │ │ │ │ ├── closing_loc: (2,6)-(2,7) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (2,8)-(2,10)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ └── operator_loc: ∅ │ │ ├── rest: ∅ @@ -37,9 +44,10 @@ │ │ └── closing_loc: (2,10)-(2,11) = ")" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "d" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_hash_pat_paren_true.txt b/test/prism/snapshots/seattlerb/case_in_hash_pat_paren_true.txt index 8ff95a161f..07f1d54339 100644 --- a/test/prism/snapshots/seattlerb/case_in_hash_pat_paren_true.txt +++ b/test/prism/snapshots/seattlerb/case_in_hash_pat_paren_true.txt @@ -1,41 +1,49 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,10)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,3)-(2,10)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,3)-(2,5)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,3)-(2,4) = "b" │ │ │ │ ├── closing_loc: (2,4)-(2,5) = ":" │ │ │ │ └── unescaped: "b" │ │ │ ├── value: │ │ │ │ @ TrueNode (location: (2,6)-(2,10)) + │ │ │ │ └── flags: static_literal │ │ │ └── operator_loc: ∅ │ │ ├── rest: ∅ │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "c" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_hash_pat_rest.txt b/test/prism/snapshots/seattlerb/case_in_hash_pat_rest.txt index b93b889ec5..42e6b3f2a5 100644 --- a/test/prism/snapshots/seattlerb/case_in_hash_pat_rest.txt +++ b/test/prism/snapshots/seattlerb/case_in_hash_pat_rest.txt @@ -1,39 +1,48 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [:c, :rest] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(3,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,23)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,15)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,3)-(2,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,3)-(2,5)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,3)-(2,4) = "b" │ │ │ │ ├── closing_loc: (2,4)-(2,5) = ":" │ │ │ │ └── unescaped: "b" │ │ │ ├── value: │ │ │ │ @ LocalVariableTargetNode (location: (2,6)-(2,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :c │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ │ │ ├── rest: │ │ │ @ AssocSplatNode (location: (2,9)-(2,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ LocalVariableTargetNode (location: (2,11)-(2,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :rest │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: (2,9)-(2,11) = "**" @@ -41,9 +50,10 @@ │ │ └── closing_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,21)-(2,23)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (2,21)-(2,23)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (2,21)-(2,22) = ":" │ │ ├── value_loc: (2,22)-(2,23) = "d" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_hash_pat_rest_solo.txt b/test/prism/snapshots/seattlerb/case_in_hash_pat_rest_solo.txt index 956e93faa0..d69ff63b9d 100644 --- a/test/prism/snapshots/seattlerb/case_in_hash_pat_rest_solo.txt +++ b/test/prism/snapshots/seattlerb/case_in_hash_pat_rest_solo.txt @@ -1,26 +1,33 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [:rest] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(3,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(2,17)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,9)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 0) │ │ ├── rest: │ │ │ @ AssocSplatNode (location: (2,3)-(2,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ LocalVariableTargetNode (location: (2,5)-(2,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :rest │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: (2,3)-(2,5) = "**" @@ -28,9 +35,10 @@ │ │ └── closing_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,15)-(2,17)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (2,15)-(2,17)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (2,15)-(2,16) = ":" │ │ ├── value_loc: (2,16)-(2,17) = "d" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_if_unless_post_mod.txt b/test/prism/snapshots/seattlerb/case_in_if_unless_post_mod.txt index a21d3e15dd..14ac026790 100644 --- a/test/prism/snapshots/seattlerb/case_in_if_unless_post_mod.txt +++ b/test/prism/snapshots/seattlerb/case_in_if_unless_post_mod.txt @@ -1,36 +1,45 @@ @ ProgramNode (location: (1,0)-(6,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(6,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(6,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 2) │ ├── @ InNode (location: (2,0)-(3,4)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IfNode (location: (2,3)-(2,12)) + │ │ │ ├── flags: newline │ │ │ ├── if_keyword_loc: (2,5)-(2,7) = "if" │ │ │ ├── predicate: │ │ │ │ @ TrueNode (location: (2,8)-(2,12)) + │ │ │ │ └── flags: static_literal │ │ │ ├── then_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (2,3)-(2,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ ConstantReadNode (location: (2,3)-(2,4)) + │ │ │ │ ├── flags: newline │ │ │ │ └── name: :A │ │ │ ├── consequent: ∅ │ │ │ └── end_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ │ ├── value_loc: (3,3)-(3,4) = "C" │ │ │ ├── closing_loc: ∅ @@ -38,24 +47,30 @@ │ │ ├── in_loc: (2,0)-(2,2) = "in" │ │ └── then_loc: ∅ │ └── @ InNode (location: (4,0)-(5,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ UnlessNode (location: (4,3)-(4,17)) + │ │ ├── flags: newline │ │ ├── keyword_loc: (4,5)-(4,11) = "unless" │ │ ├── predicate: │ │ │ @ FalseNode (location: (4,12)-(4,17)) + │ │ │ └── flags: static_literal │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (4,3)-(4,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ ConstantReadNode (location: (4,3)-(4,4)) + │ │ │ ├── flags: newline │ │ │ └── name: :D │ │ ├── consequent: ∅ │ │ └── end_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (5,2)-(5,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (5,2)-(5,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,2)-(5,3) = ":" │ │ ├── value_loc: (5,3)-(5,4) = "E" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_multiple.txt b/test/prism/snapshots/seattlerb/case_in_multiple.txt index eba0084f96..d0d790bdb5 100644 --- a/test/prism/snapshots/seattlerb/case_in_multiple.txt +++ b/test/prism/snapshots/seattlerb/case_in_multiple.txt @@ -1,31 +1,38 @@ @ ProgramNode (location: (1,0)-(6,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(6,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(6,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 2) │ ├── @ InNode (location: (2,0)-(3,4)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ConstantPathNode (location: (2,3)-(2,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :A │ │ │ ├── name: :B │ │ │ ├── delimiter_loc: (2,4)-(2,6) = "::" │ │ │ └── name_loc: (2,6)-(2,7) = "B" │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ │ ├── value_loc: (3,3)-(3,4) = "C" │ │ │ ├── closing_loc: ∅ @@ -33,19 +40,23 @@ │ │ ├── in_loc: (2,0)-(2,2) = "in" │ │ └── then_loc: ∅ │ └── @ InNode (location: (4,0)-(5,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ConstantPathNode (location: (4,3)-(4,7)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (4,3)-(4,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :D │ │ ├── name: :E │ │ ├── delimiter_loc: (4,4)-(4,6) = "::" │ │ └── name_loc: (4,6)-(4,7) = "E" │ ├── statements: │ │ @ StatementsNode (location: (5,2)-(5,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (5,2)-(5,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,2)-(5,3) = ":" │ │ ├── value_loc: (5,3)-(5,4) = "F" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/case_in_or.txt b/test/prism/snapshots/seattlerb/case_in_or.txt index 7ac6617608..9787f5c1ed 100644 --- a/test/prism/snapshots/seattlerb/case_in_or.txt +++ b/test/prism/snapshots/seattlerb/case_in_or.txt @@ -1,32 +1,40 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,4)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ AlternationPatternNode (location: (2,3)-(2,8)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ ConstantReadNode (location: (2,3)-(2,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :B │ │ ├── right: │ │ │ @ ConstantReadNode (location: (2,7)-(2,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :C │ │ └── operator_loc: (2,5)-(2,6) = "|" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (3,2)-(3,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ ├── value_loc: (3,3)-(3,4) = "d" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/class_comments.txt b/test/prism/snapshots/seattlerb/class_comments.txt index 5ac05b6be6..75350722a1 100644 --- a/test/prism/snapshots/seattlerb/class_comments.txt +++ b/test/prism/snapshots/seattlerb/class_comments.txt @@ -1,20 +1,26 @@ @ ProgramNode (location: (4,0)-(9,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (4,0)-(9,3)) + ├── flags: ∅ └── body: (length: 1) └── @ ClassNode (location: (4,0)-(9,3)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (4,0)-(4,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (4,6)-(4,7)) + │ ├── flags: ∅ │ └── name: :X ├── inheritance_operator_loc: ∅ ├── superclass: ∅ ├── body: │ @ StatementsNode (location: (6,2)-(8,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ DefNode (location: (6,2)-(8,5)) + │ ├── flags: newline │ ├── name: :blah │ ├── name_loc: (6,6)-(6,10) = "blah" │ ├── receiver: ∅ diff --git a/test/prism/snapshots/seattlerb/cond_unary_minus.txt b/test/prism/snapshots/seattlerb/cond_unary_minus.txt index b6e12dfb15..bf82ac4696 100644 --- a/test/prism/snapshots/seattlerb/cond_unary_minus.txt +++ b/test/prism/snapshots/seattlerb/cond_unary_minus.txt @@ -1,13 +1,16 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,10)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ IntegerNode (location: (1,3)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: -1 ├── then_keyword_loc: ∅ ├── statements: ∅ diff --git a/test/prism/snapshots/seattlerb/const_2_op_asgn_or2.txt b/test/prism/snapshots/seattlerb/const_2_op_asgn_or2.txt index e09eed7d2f..25d77dac2d 100644 --- a/test/prism/snapshots/seattlerb/const_2_op_asgn_or2.txt +++ b/test/prism/snapshots/seattlerb/const_2_op_asgn_or2.txt @@ -1,13 +1,18 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathOrWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── target: │ @ ConstantPathNode (location: (1,0)-(1,6)) + │ ├── flags: ∅ │ ├── parent: │ │ @ ConstantPathNode (location: (1,0)-(1,3)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :X │ │ ├── delimiter_loc: (1,0)-(1,2) = "::" @@ -18,5 +23,5 @@ ├── operator_loc: (1,7)-(1,10) = "||=" └── value: @ IntegerNode (location: (1,11)-(1,12)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/const_3_op_asgn_or.txt b/test/prism/snapshots/seattlerb/const_3_op_asgn_or.txt index 398af888a8..dc098bcf23 100644 --- a/test/prism/snapshots/seattlerb/const_3_op_asgn_or.txt +++ b/test/prism/snapshots/seattlerb/const_3_op_asgn_or.txt @@ -1,11 +1,15 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathOrWriteNode (location: (1,0)-(1,9)) + ├── flags: newline ├── target: │ @ ConstantPathNode (location: (1,0)-(1,3)) + │ ├── flags: ∅ │ ├── parent: ∅ │ ├── name: :X │ ├── delimiter_loc: (1,0)-(1,2) = "::" @@ -13,5 +17,5 @@ ├── operator_loc: (1,4)-(1,7) = "||=" └── value: @ IntegerNode (location: (1,8)-(1,9)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/const_op_asgn_and1.txt b/test/prism/snapshots/seattlerb/const_op_asgn_and1.txt index f9792aebb3..63b8bc190b 100644 --- a/test/prism/snapshots/seattlerb/const_op_asgn_and1.txt +++ b/test/prism/snapshots/seattlerb/const_op_asgn_and1.txt @@ -1,11 +1,15 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathOperatorWriteNode (location: (1,0)-(1,8)) + ├── flags: newline ├── target: │ @ ConstantPathNode (location: (1,0)-(1,3)) + │ ├── flags: ∅ │ ├── parent: ∅ │ ├── name: :X │ ├── delimiter_loc: (1,0)-(1,2) = "::" @@ -13,6 +17,6 @@ ├── binary_operator_loc: (1,4)-(1,6) = "&=" ├── value: │ @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 └── binary_operator: :& diff --git a/test/prism/snapshots/seattlerb/const_op_asgn_and2.txt b/test/prism/snapshots/seattlerb/const_op_asgn_and2.txt index 146455d327..c1ac2bcf52 100644 --- a/test/prism/snapshots/seattlerb/const_op_asgn_and2.txt +++ b/test/prism/snapshots/seattlerb/const_op_asgn_and2.txt @@ -1,11 +1,15 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathAndWriteNode (location: (1,0)-(1,9)) + ├── flags: newline ├── target: │ @ ConstantPathNode (location: (1,0)-(1,3)) + │ ├── flags: ∅ │ ├── parent: ∅ │ ├── name: :X │ ├── delimiter_loc: (1,0)-(1,2) = "::" @@ -13,5 +17,5 @@ ├── operator_loc: (1,4)-(1,7) = "&&=" └── value: @ IntegerNode (location: (1,8)-(1,9)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/const_op_asgn_or.txt b/test/prism/snapshots/seattlerb/const_op_asgn_or.txt index 5e9dd39604..0a53593d12 100644 --- a/test/prism/snapshots/seattlerb/const_op_asgn_or.txt +++ b/test/prism/snapshots/seattlerb/const_op_asgn_or.txt @@ -1,13 +1,18 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathOrWriteNode (location: (1,0)-(1,10)) + ├── flags: newline ├── target: │ @ ConstantPathNode (location: (1,0)-(1,4)) + │ ├── flags: ∅ │ ├── parent: │ │ @ ConstantReadNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ └── name: :X │ ├── name: :Y │ ├── delimiter_loc: (1,1)-(1,3) = "::" @@ -15,5 +20,5 @@ ├── operator_loc: (1,5)-(1,8) = "||=" └── value: @ IntegerNode (location: (1,9)-(1,10)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/defined_eh_parens.txt b/test/prism/snapshots/seattlerb/defined_eh_parens.txt index 49b577fcd1..7e18a24787 100644 --- a/test/prism/snapshots/seattlerb/defined_eh_parens.txt +++ b/test/prism/snapshots/seattlerb/defined_eh_parens.txt @@ -1,13 +1,16 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ DefinedNode (location: (1,0)-(1,12)) + ├── flags: newline ├── lparen_loc: (1,8)-(1,9) = "(" ├── value: │ @ IntegerNode (location: (1,9)-(1,11)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 42 ├── rparen_loc: (1,11)-(1,12) = ")" └── keyword_loc: (1,0)-(1,8) = "defined?" diff --git a/test/prism/snapshots/seattlerb/defn_arg_asplat_arg.txt b/test/prism/snapshots/seattlerb/defn_arg_asplat_arg.txt index 3f2bdf44a4..312b0214d6 100644 --- a/test/prism/snapshots/seattlerb/defn_arg_asplat_arg.txt +++ b/test/prism/snapshots/seattlerb/defn_arg_asplat_arg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,29)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,29)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,29)) + ├── flags: newline ├── name: :call ├── name_loc: (1,4)-(1,8) = "call" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,9)-(1,24)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,9)-(1,15)) │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt b/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt index 4121770c5c..905978bc2f 100644 --- a/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt +++ b/test/prism/snapshots/seattlerb/defn_arg_forward_args.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,29)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,29)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,29)) + ├── flags: newline ├── name: :a ├── name_loc: (1,4)-(1,5) = "a" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ ├── flags: ∅ @@ -19,12 +23,14 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ ForwardingParameterNode (location: (1,9)-(1,12)) + │ │ └── flags: ∅ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,15)-(1,24)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,15)-(1,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -35,9 +41,11 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ LocalVariableReadNode (location: (1,17)-(1,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :x │ │ │ └── depth: 0 │ │ └── @ ForwardingArgumentsNode (location: (1,20)-(1,23)) + │ │ └── flags: ∅ │ ├── closing_loc: (1,23)-(1,24) = ")" │ └── block: ∅ ├── locals: [:x] diff --git a/test/prism/snapshots/seattlerb/defn_args_forward_args.txt b/test/prism/snapshots/seattlerb/defn_args_forward_args.txt index 178b6ccde7..ca03f79d57 100644 --- a/test/prism/snapshots/seattlerb/defn_args_forward_args.txt +++ b/test/prism/snapshots/seattlerb/defn_args_forward_args.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,41)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,41)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,41)) + ├── flags: newline ├── name: :a ├── name_loc: (1,4)-(1,5) = "a" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,18)) + │ ├── flags: ∅ │ ├── requireds: (length: 3) │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ │ ├── flags: ∅ @@ -25,12 +29,14 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ ForwardingParameterNode (location: (1,15)-(1,18)) + │ │ └── flags: ∅ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,21)-(1,36)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,21)-(1,36)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -41,15 +47,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 3) │ │ ├── @ SymbolNode (location: (1,23)-(1,27)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,23)-(1,24) = ":" │ │ │ ├── value_loc: (1,24)-(1,27) = "get" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "get" │ │ ├── @ LocalVariableReadNode (location: (1,29)-(1,30)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :z │ │ │ └── depth: 0 │ │ └── @ ForwardingArgumentsNode (location: (1,32)-(1,35)) + │ │ └── flags: ∅ │ ├── closing_loc: (1,35)-(1,36) = ")" │ └── block: ∅ ├── locals: [:x, :y, :z] diff --git a/test/prism/snapshots/seattlerb/defn_comments.txt b/test/prism/snapshots/seattlerb/defn_comments.txt index 585aa65c9a..8ea66b7760 100644 --- a/test/prism/snapshots/seattlerb/defn_comments.txt +++ b/test/prism/snapshots/seattlerb/defn_comments.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (4,0)-(5,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (4,0)-(5,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (4,0)-(5,3)) + ├── flags: newline ├── name: :blah ├── name_loc: (4,4)-(4,8) = "blah" ├── receiver: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_endless_command.txt b/test/prism/snapshots/seattlerb/defn_endless_command.txt index c3ea59282a..e951ee2e45 100644 --- a/test/prism/snapshots/seattlerb/defn_endless_command.txt +++ b/test/prism/snapshots/seattlerb/defn_endless_command.txt @@ -1,18 +1,22 @@ @ ProgramNode (location: (1,0)-(1,33)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,33)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,33)) + ├── flags: newline ├── name: :some_method ├── name_loc: (1,4)-(1,15) = "some_method" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,18)-(1,33)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,18)-(1,33)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :other_method @@ -23,7 +27,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,31)-(1,33)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt b/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt index dfd1d01ba8..7efd02cd06 100644 --- a/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt +++ b/test/prism/snapshots/seattlerb/defn_endless_command_rescue.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,43)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,43)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,43)) + ├── flags: newline ├── name: :some_method ├── name_loc: (1,4)-(1,15) = "some_method" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,18)-(1,43)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RescueModifierNode (location: (1,18)-(1,43)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (1,18)-(1,33)) │ │ ├── flags: ignore_visibility @@ -25,14 +30,14 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (1,31)-(1,33)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── keyword_loc: (1,34)-(1,40) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,41)-(1,43)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 24 ├── locals: [] ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_forward_args.txt b/test/prism/snapshots/seattlerb/defn_forward_args.txt index 71a984c811..50fc32c047 100644 --- a/test/prism/snapshots/seattlerb/defn_forward_args.txt +++ b/test/prism/snapshots/seattlerb/defn_forward_args.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,23)) + ├── flags: newline ├── name: :a ├── name_loc: (1,4)-(1,5) = "a" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,9)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -16,12 +20,14 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ ForwardingParameterNode (location: (1,6)-(1,9)) + │ │ └── flags: ∅ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,12)-(1,18)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,12)-(1,18)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -32,6 +38,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ForwardingArgumentsNode (location: (1,14)-(1,17)) + │ │ └── flags: ∅ │ ├── closing_loc: (1,17)-(1,18) = ")" │ └── block: ∅ ├── locals: [] diff --git a/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt b/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt index 4a4d69e4d0..8926f2cdf1 100644 --- a/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt +++ b/test/prism/snapshots/seattlerb/defn_forward_args__no_parens.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(3,3)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,9)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -16,12 +20,14 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ ForwardingParameterNode (location: (1,6)-(1,9)) + │ │ └── flags: ∅ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (2,2)-(2,8)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,2)-(2,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -32,6 +38,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ForwardingArgumentsNode (location: (2,4)-(2,7)) + │ │ └── flags: ∅ │ ├── closing_loc: (2,7)-(2,8) = ")" │ └── block: ∅ ├── locals: [] diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_env.txt b/test/prism/snapshots/seattlerb/defn_kwarg_env.txt index 2aadedd964..0df82b5dc2 100644 --- a/test/prism/snapshots/seattlerb/defn_kwarg_env.txt +++ b/test/prism/snapshots/seattlerb/defn_kwarg_env.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,45)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,45)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,45)) + ├── flags: newline ├── name: :test ├── name_loc: (1,4)-(1,8) = "test" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,9)-(1,18)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -23,9 +27,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,20)-(1,41)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,20)-(1,41)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :test_splat @@ -39,8 +44,10 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (1,31)-(1,40)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ LocalVariableReadNode (location: (1,33)-(1,40)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :testing │ │ │ └── depth: 0 │ │ └── operator_loc: (1,31)-(1,33) = "**" diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_kwarg.txt b/test/prism/snapshots/seattlerb/defn_kwarg_kwarg.txt index 8a5022ff37..ead1437a86 100644 --- a/test/prism/snapshots/seattlerb/defn_kwarg_kwarg.txt +++ b/test/prism/snapshots/seattlerb/defn_kwarg_kwarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,24)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,19)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ ├── flags: ∅ @@ -23,7 +27,7 @@ │ │ │ ├── name_loc: (1,9)-(1,11) = "b:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ OptionalKeywordParameterNode (location: (1,15)-(1,19)) │ │ ├── flags: ∅ @@ -31,7 +35,7 @@ │ │ ├── name_loc: (1,15)-(1,17) = "c:" │ │ └── value: │ │ @ IntegerNode (location: (1,18)-(1,19)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── keyword_rest: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_kwsplat.txt b/test/prism/snapshots/seattlerb/defn_kwarg_kwsplat.txt index 4c980bc27f..2b22833460 100644 --- a/test/prism/snapshots/seattlerb/defn_kwarg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/defn_kwarg_kwsplat.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,20)) + ├── flags: newline ├── name: :a ├── name_loc: (1,4)-(1,5) = "a" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,15)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -20,7 +24,7 @@ │ │ ├── name_loc: (1,6)-(1,8) = "b:" │ │ └── value: │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_rest: │ │ @ KeywordRestParameterNode (location: (1,12)-(1,15)) diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_kwsplat_anon.txt b/test/prism/snapshots/seattlerb/defn_kwarg_kwsplat_anon.txt index 40afacc2a7..1e0e1f132e 100644 --- a/test/prism/snapshots/seattlerb/defn_kwarg_kwsplat_anon.txt +++ b/test/prism/snapshots/seattlerb/defn_kwarg_kwsplat_anon.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,19)) + ├── flags: newline ├── name: :a ├── name_loc: (1,4)-(1,5) = "a" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,14)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -20,7 +24,7 @@ │ │ ├── name_loc: (1,6)-(1,8) = "b:" │ │ └── value: │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_rest: │ │ @ KeywordRestParameterNode (location: (1,12)-(1,14)) diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_lvar.txt b/test/prism/snapshots/seattlerb/defn_kwarg_lvar.txt index 0eae56924c..0835d3987d 100644 --- a/test/prism/snapshots/seattlerb/defn_kwarg_lvar.txt +++ b/test/prism/snapshots/seattlerb/defn_kwarg_lvar.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,26)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,26)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,26)) + ├── flags: newline ├── name: :fun ├── name_loc: (1,4)-(1,7) = "fun" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,16)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -20,7 +24,7 @@ │ │ ├── name_loc: (1,8)-(1,11) = "kw:" │ │ └── value: │ │ @ SymbolNode (location: (1,12)-(1,16)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,12)-(1,13) = ":" │ │ ├── value_loc: (1,13)-(1,16) = "val" │ │ ├── closing_loc: ∅ @@ -29,8 +33,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,19)-(1,21)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (1,19)-(1,21)) + │ ├── flags: newline │ ├── name: :kw │ └── depth: 0 ├── locals: [:kw] diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_no_parens.txt b/test/prism/snapshots/seattlerb/defn_kwarg_no_parens.txt index bc5747ad02..3f6af5e0ee 100644 --- a/test/prism/snapshots/seattlerb/defn_kwarg_no_parens.txt +++ b/test/prism/snapshots/seattlerb/defn_kwarg_no_parens.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(2,3)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,10)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -20,7 +24,7 @@ │ │ ├── name_loc: (1,6)-(1,8) = "a:" │ │ └── value: │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_rest: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_kwarg_val.txt b/test/prism/snapshots/seattlerb/defn_kwarg_val.txt index 82527f7875..38cb995c09 100644 --- a/test/prism/snapshots/seattlerb/defn_kwarg_val.txt +++ b/test/prism/snapshots/seattlerb/defn_kwarg_val.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,17)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ ├── flags: ∅ @@ -23,7 +27,7 @@ │ │ ├── name_loc: (1,9)-(1,11) = "b:" │ │ └── value: │ │ @ IntegerNode (location: (1,11)-(1,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_rest: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_no_kwargs.txt b/test/prism/snapshots/seattlerb/defn_no_kwargs.txt index 0ef0634a53..778b300a4b 100644 --- a/test/prism/snapshots/seattlerb/defn_no_kwargs.txt +++ b/test/prism/snapshots/seattlerb/defn_no_kwargs.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,17)) + ├── flags: newline ├── name: :x ├── name_loc: (1,4)-(1,5) = "x" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,11)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -16,6 +20,7 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ NoKeywordsParameterNode (location: (1,6)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,6)-(1,8) = "**" │ │ └── keyword_loc: (1,8)-(1,11) = "nil" │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_oneliner.txt b/test/prism/snapshots/seattlerb/defn_oneliner.txt index e700499809..efa53f09d5 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,27)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,27)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,27)) + ├── flags: newline ├── name: :exec ├── name_loc: (1,4)-(1,8) = "exec" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,9)-(1,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,9)-(1,12)) │ │ ├── flags: ∅ @@ -21,9 +25,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,16)-(1,27)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,16)-(1,27)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :system @@ -34,6 +39,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (1,23)-(1,26)) + │ │ ├── flags: ∅ │ │ ├── name: :cmd │ │ └── depth: 0 │ ├── closing_loc: (1,26)-(1,27) = ")" diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_eq2.txt b/test/prism/snapshots/seattlerb/defn_oneliner_eq2.txt index 2708351ede..8d9f6a2267 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_eq2.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_eq2.txt @@ -1,25 +1,32 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ ClassNode (location: (1,0)-(3,3)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (1,0)-(1,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ └── name: :X ├── inheritance_operator_loc: ∅ ├── superclass: ∅ ├── body: │ @ StatementsNode (location: (2,2)-(2,16)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ DefNode (location: (2,2)-(2,16)) + │ ├── flags: newline │ ├── name: :== │ ├── name_loc: (2,6)-(2,8) = "==" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (2,9)-(2,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,10)) │ │ │ ├── flags: ∅ @@ -32,9 +39,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (2,14)-(2,16)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (2,14)-(2,16)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 42 │ ├── locals: [:o] │ ├── def_keyword_loc: (2,2)-(2,5) = "def" diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt b/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt index 54555b1a23..a7bc11ae6b 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_noargs.txt @@ -1,18 +1,22 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,17)) + ├── flags: newline ├── name: :exec ├── name_loc: (1,4)-(1,8) = "exec" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,11)-(1,17)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,11)-(1,17)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :system diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt b/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt index e0fc4636f1..174c49d1e1 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_noargs_parentheses.txt @@ -1,18 +1,22 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,19)) + ├── flags: newline ├── name: :exec ├── name_loc: (1,4)-(1,8) = "exec" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,13)-(1,19)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,13)-(1,19)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :system diff --git a/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt b/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt index b5b5dbe6ac..5e9c7ccef7 100644 --- a/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt +++ b/test/prism/snapshots/seattlerb/defn_oneliner_rescue.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(13,38)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(13,38)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefNode (location: (1,0)-(5,3)) + │ ├── flags: newline │ ├── name: :exec │ ├── name_loc: (1,4)-(1,8) = "exec" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,9)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,12)) │ │ │ ├── flags: ∅ @@ -21,12 +25,14 @@ │ │ └── block: ∅ │ ├── body: │ │ @ BeginNode (location: (1,0)-(5,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (2,2)-(2,13)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,13)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :system @@ -37,20 +43,24 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :cmd │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (2,12)-(2,13) = ")" │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (3,0)-(4,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ │ │ │ ├── reference: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (4,2)-(4,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ NilNode (location: (4,2)-(4,5)) + │ │ │ │ └── flags: newline, static_literal │ │ │ └── consequent: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: ∅ @@ -63,11 +73,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ DefNode (location: (8,0)-(10,3)) + │ ├── flags: newline │ ├── name: :exec │ ├── name_loc: (8,4)-(8,8) = "exec" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (8,9)-(8,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (8,9)-(8,12)) │ │ │ ├── flags: ∅ @@ -80,8 +92,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (9,2)-(9,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (9,2)-(9,24)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ CallNode (location: (9,2)-(9,13)) │ │ │ ├── flags: ignore_visibility @@ -95,6 +109,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :cmd │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (9,12)-(9,13) = ")" @@ -102,6 +117,7 @@ │ │ ├── keyword_loc: (9,14)-(9,20) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (9,21)-(9,24)) + │ │ └── flags: static_literal │ ├── locals: [:cmd] │ ├── def_keyword_loc: (8,0)-(8,3) = "def" │ ├── operator_loc: ∅ @@ -110,11 +126,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (10,0)-(10,3) = "end" └── @ DefNode (location: (13,0)-(13,38)) + ├── flags: newline ├── name: :exec ├── name_loc: (13,4)-(13,8) = "exec" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (13,9)-(13,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (13,9)-(13,12)) │ │ ├── flags: ∅ @@ -127,8 +145,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (13,16)-(13,38)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RescueModifierNode (location: (13,16)-(13,38)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (13,16)-(13,27)) │ │ ├── flags: ignore_visibility @@ -142,6 +162,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (13,23)-(13,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :cmd │ │ │ └── depth: 0 │ │ ├── closing_loc: (13,26)-(13,27) = ")" @@ -149,6 +170,7 @@ │ ├── keyword_loc: (13,28)-(13,34) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (13,35)-(13,38)) + │ └── flags: static_literal ├── locals: [:cmd] ├── def_keyword_loc: (13,0)-(13,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_opt_last_arg.txt b/test/prism/snapshots/seattlerb/defn_opt_last_arg.txt index 569bc23078..f7c37e3d45 100644 --- a/test/prism/snapshots/seattlerb/defn_opt_last_arg.txt +++ b/test/prism/snapshots/seattlerb/defn_opt_last_arg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(2,3)) + ├── flags: newline ├── name: :m ├── name_loc: (1,4)-(1,5) = "m" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,17)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 1) │ │ └── @ OptionalParameterNode (location: (1,6)-(1,17)) @@ -18,6 +22,7 @@ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ └── value: │ │ @ FalseNode (location: (1,12)-(1,17)) + │ │ └── flags: static_literal │ ├── rest: ∅ │ ├── posts: (length: 0) │ ├── keywords: (length: 0) diff --git a/test/prism/snapshots/seattlerb/defn_opt_reg.txt b/test/prism/snapshots/seattlerb/defn_opt_reg.txt index f86168513a..9bdd143905 100644 --- a/test/prism/snapshots/seattlerb/defn_opt_reg.txt +++ b/test/prism/snapshots/seattlerb/defn_opt_reg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,19)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,14)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 1) │ │ └── @ OptionalParameterNode (location: (1,6)-(1,11)) @@ -18,6 +22,7 @@ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ └── value: │ │ @ NilNode (location: (1,8)-(1,11)) + │ │ └── flags: static_literal │ ├── rest: ∅ │ ├── posts: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,13)-(1,14)) diff --git a/test/prism/snapshots/seattlerb/defn_opt_splat_arg.txt b/test/prism/snapshots/seattlerb/defn_opt_splat_arg.txt index 3019e9b73e..d90fddc653 100644 --- a/test/prism/snapshots/seattlerb/defn_opt_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/defn_opt_splat_arg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,24)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,7)-(1,19)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 1) │ │ └── @ OptionalParameterNode (location: (1,7)-(1,12)) @@ -18,7 +22,7 @@ │ │ ├── operator_loc: (1,9)-(1,10) = "=" │ │ └── value: │ │ @ IntegerNode (location: (1,11)-(1,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── rest: │ │ @ RestParameterNode (location: (1,14)-(1,16)) diff --git a/test/prism/snapshots/seattlerb/defn_powarg.txt b/test/prism/snapshots/seattlerb/defn_powarg.txt index bce131ad18..8d4ff4283a 100644 --- a/test/prism/snapshots/seattlerb/defn_powarg.txt +++ b/test/prism/snapshots/seattlerb/defn_powarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,17)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_reg_opt_reg.txt b/test/prism/snapshots/seattlerb/defn_reg_opt_reg.txt index d079e1b5f3..0cd1435e8f 100644 --- a/test/prism/snapshots/seattlerb/defn_reg_opt_reg.txt +++ b/test/prism/snapshots/seattlerb/defn_reg_opt_reg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,23)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,18)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ ├── flags: ∅ @@ -21,7 +25,7 @@ │ │ ├── operator_loc: (1,11)-(1,12) = "=" │ │ └── value: │ │ @ SymbolNode (location: (1,13)-(1,15)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,13)-(1,14) = ":" │ │ ├── value_loc: (1,14)-(1,15) = "c" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defn_splat_arg.txt b/test/prism/snapshots/seattlerb/defn_splat_arg.txt index 109fac495a..c137e263c4 100644 --- a/test/prism/snapshots/seattlerb/defn_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/defn_splat_arg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,15)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,10)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: diff --git a/test/prism/snapshots/seattlerb/defn_unary_not.txt b/test/prism/snapshots/seattlerb/defn_unary_not.txt index 231a3c0da9..0722d3cdca 100644 --- a/test/prism/snapshots/seattlerb/defn_unary_not.txt +++ b/test/prism/snapshots/seattlerb/defn_unary_not.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,17)) + ├── flags: newline ├── name: :! ├── name_loc: (1,4)-(1,6) = "!@" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,8)-(1,12)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ TrueNode (location: (1,8)-(1,12)) + │ └── flags: newline, static_literal ├── locals: [] ├── def_keyword_loc: (1,0)-(1,3) = "def" ├── operator_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/defns_reserved.txt b/test/prism/snapshots/seattlerb/defns_reserved.txt index 96860b49ce..10361184ac 100644 --- a/test/prism/snapshots/seattlerb/defns_reserved.txt +++ b/test/prism/snapshots/seattlerb/defns_reserved.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,20)) + ├── flags: newline ├── name: :return ├── name_loc: (1,9)-(1,15) = "return" ├── receiver: │ @ SelfNode (location: (1,4)-(1,8)) + │ └── flags: ∅ ├── parameters: ∅ ├── body: ∅ ├── locals: [] diff --git a/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt b/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt index 24bb14f8e1..f9479eb11b 100644 --- a/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt +++ b/test/prism/snapshots/seattlerb/defs_as_arg_with_do_block_inside.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,30)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,30)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,30)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -15,16 +17,19 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ DefNode (location: (1,2)-(1,30)) + │ ├── flags: ∅ │ ├── name: :b │ ├── name_loc: (1,11)-(1,12) = "b" │ ├── receiver: │ │ @ SelfNode (location: (1,6)-(1,10)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,14)-(1,25)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,14)-(1,25)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (1,14)-(1,15)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -44,6 +49,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (1,18)-(1,25)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/defs_comments.txt b/test/prism/snapshots/seattlerb/defs_comments.txt index a2976e7ee2..7f94497978 100644 --- a/test/prism/snapshots/seattlerb/defs_comments.txt +++ b/test/prism/snapshots/seattlerb/defs_comments.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (4,0)-(5,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (4,0)-(5,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (4,0)-(5,3)) + ├── flags: newline ├── name: :blah ├── name_loc: (4,9)-(4,13) = "blah" ├── receiver: │ @ SelfNode (location: (4,4)-(4,8)) + │ └── flags: ∅ ├── parameters: ∅ ├── body: ∅ ├── locals: [] diff --git a/test/prism/snapshots/seattlerb/defs_endless_command.txt b/test/prism/snapshots/seattlerb/defs_endless_command.txt index f3c4e79417..b1b542296c 100644 --- a/test/prism/snapshots/seattlerb/defs_endless_command.txt +++ b/test/prism/snapshots/seattlerb/defs_endless_command.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,35)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,35)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,35)) + ├── flags: newline ├── name: :some_method ├── name_loc: (1,6)-(1,17) = "some_method" ├── receiver: @@ -20,9 +23,10 @@ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,20)-(1,35)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,20)-(1,35)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :other_method @@ -33,7 +37,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,33)-(1,35)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt b/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt index b0cd34a9c8..e8a7703de3 100644 --- a/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt +++ b/test/prism/snapshots/seattlerb/defs_endless_command_rescue.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,45)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,45)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,45)) + ├── flags: newline ├── name: :some_method ├── name_loc: (1,6)-(1,17) = "some_method" ├── receiver: @@ -20,8 +23,10 @@ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,20)-(1,45)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RescueModifierNode (location: (1,20)-(1,45)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (1,20)-(1,35)) │ │ ├── flags: ignore_visibility @@ -35,14 +40,14 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (1,33)-(1,35)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── keyword_loc: (1,36)-(1,42) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,43)-(1,45)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 24 ├── locals: [] ├── def_keyword_loc: (1,0)-(1,3) = "def" diff --git a/test/prism/snapshots/seattlerb/defs_kwarg.txt b/test/prism/snapshots/seattlerb/defs_kwarg.txt index 53235c9bb8..86a2d562e3 100644 --- a/test/prism/snapshots/seattlerb/defs_kwarg.txt +++ b/test/prism/snapshots/seattlerb/defs_kwarg.txt @@ -1,15 +1,20 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(2,3)) + ├── flags: newline ├── name: :a ├── name_loc: (1,9)-(1,10) = "a" ├── receiver: │ @ SelfNode (location: (1,4)-(1,8)) + │ └── flags: ∅ ├── parameters: │ @ ParametersNode (location: (1,11)-(1,15)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -21,7 +26,7 @@ │ │ ├── name_loc: (1,11)-(1,13) = "b:" │ │ └── value: │ │ @ IntegerNode (location: (1,14)-(1,15)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_rest: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/defs_oneliner.txt b/test/prism/snapshots/seattlerb/defs_oneliner.txt index d32975354d..4ddde4309d 100644 --- a/test/prism/snapshots/seattlerb/defs_oneliner.txt +++ b/test/prism/snapshots/seattlerb/defs_oneliner.txt @@ -1,15 +1,20 @@ @ ProgramNode (location: (1,0)-(1,32)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,32)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,32)) + ├── flags: newline ├── name: :exec ├── name_loc: (1,9)-(1,13) = "exec" ├── receiver: │ @ SelfNode (location: (1,4)-(1,8)) + │ └── flags: ∅ ├── parameters: │ @ ParametersNode (location: (1,14)-(1,17)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,14)-(1,17)) │ │ ├── flags: ∅ @@ -22,9 +27,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,21)-(1,32)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,21)-(1,32)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :system @@ -35,6 +41,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (1,28)-(1,31)) + │ │ ├── flags: ∅ │ │ ├── name: :cmd │ │ └── depth: 0 │ ├── closing_loc: (1,31)-(1,32) = ")" diff --git a/test/prism/snapshots/seattlerb/defs_oneliner_eq2.txt b/test/prism/snapshots/seattlerb/defs_oneliner_eq2.txt index fcc5c63cf0..f51a58e37e 100644 --- a/test/prism/snapshots/seattlerb/defs_oneliner_eq2.txt +++ b/test/prism/snapshots/seattlerb/defs_oneliner_eq2.txt @@ -1,26 +1,34 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ ClassNode (location: (1,0)-(3,3)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (1,0)-(1,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ └── name: :X ├── inheritance_operator_loc: ∅ ├── superclass: ∅ ├── body: │ @ StatementsNode (location: (2,2)-(2,21)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ DefNode (location: (2,2)-(2,21)) + │ ├── flags: newline │ ├── name: :== │ ├── name_loc: (2,11)-(2,13) = "==" │ ├── receiver: │ │ @ SelfNode (location: (2,6)-(2,10)) + │ │ └── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (2,14)-(2,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (2,14)-(2,15)) │ │ │ ├── flags: ∅ @@ -33,9 +41,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (2,19)-(2,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (2,19)-(2,21)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 42 │ ├── locals: [:o] │ ├── def_keyword_loc: (2,2)-(2,5) = "def" diff --git a/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt b/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt index f776210768..13b9159894 100644 --- a/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt +++ b/test/prism/snapshots/seattlerb/defs_oneliner_rescue.txt @@ -1,15 +1,20 @@ @ ProgramNode (location: (1,0)-(13,43)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(13,43)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefNode (location: (1,0)-(5,3)) + │ ├── flags: newline │ ├── name: :exec │ ├── name_loc: (1,9)-(1,13) = "exec" │ ├── receiver: │ │ @ SelfNode (location: (1,4)-(1,8)) + │ │ └── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,14)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,14)-(1,17)) │ │ │ ├── flags: ∅ @@ -22,12 +27,14 @@ │ │ └── block: ∅ │ ├── body: │ │ @ BeginNode (location: (1,0)-(5,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (2,2)-(2,13)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,13)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :system @@ -38,20 +45,24 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (2,9)-(2,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :cmd │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (2,12)-(2,13) = ")" │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (3,0)-(4,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ │ │ │ ├── reference: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (4,2)-(4,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ NilNode (location: (4,2)-(4,5)) + │ │ │ │ └── flags: newline, static_literal │ │ │ └── consequent: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: ∅ @@ -64,12 +75,15 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ DefNode (location: (8,0)-(10,3)) + │ ├── flags: newline │ ├── name: :exec │ ├── name_loc: (8,9)-(8,13) = "exec" │ ├── receiver: │ │ @ SelfNode (location: (8,4)-(8,8)) + │ │ └── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (8,14)-(8,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (8,14)-(8,17)) │ │ │ ├── flags: ∅ @@ -82,8 +96,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (9,2)-(9,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (9,2)-(9,24)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ CallNode (location: (9,2)-(9,13)) │ │ │ ├── flags: ignore_visibility @@ -97,6 +113,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (9,9)-(9,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :cmd │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (9,12)-(9,13) = ")" @@ -104,6 +121,7 @@ │ │ ├── keyword_loc: (9,14)-(9,20) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (9,21)-(9,24)) + │ │ └── flags: static_literal │ ├── locals: [:cmd] │ ├── def_keyword_loc: (8,0)-(8,3) = "def" │ ├── operator_loc: (8,8)-(8,9) = "." @@ -112,12 +130,15 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (10,0)-(10,3) = "end" └── @ DefNode (location: (13,0)-(13,43)) + ├── flags: newline ├── name: :exec ├── name_loc: (13,9)-(13,13) = "exec" ├── receiver: │ @ SelfNode (location: (13,4)-(13,8)) + │ └── flags: ∅ ├── parameters: │ @ ParametersNode (location: (13,14)-(13,17)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (13,14)-(13,17)) │ │ ├── flags: ∅ @@ -130,8 +151,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (13,21)-(13,43)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RescueModifierNode (location: (13,21)-(13,43)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (13,21)-(13,32)) │ │ ├── flags: ignore_visibility @@ -145,6 +168,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (13,28)-(13,31)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :cmd │ │ │ └── depth: 0 │ │ ├── closing_loc: (13,31)-(13,32) = ")" @@ -152,6 +176,7 @@ │ ├── keyword_loc: (13,33)-(13,39) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (13,40)-(13,43)) + │ └── flags: static_literal ├── locals: [:cmd] ├── def_keyword_loc: (13,0)-(13,3) = "def" ├── operator_loc: (13,8)-(13,9) = "." diff --git a/test/prism/snapshots/seattlerb/difficult0_.txt b/test/prism/snapshots/seattlerb/difficult0_.txt index 8ba30ccf85..233440b101 100644 --- a/test/prism/snapshots/seattlerb/difficult0_.txt +++ b/test/prism/snapshots/seattlerb/difficult0_.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,8)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -35,17 +37,17 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ InterpolatedStringNode (location: (1,9)-(4,4)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (1,9)-(1,10) = "'" │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ StringNode (location: (1,10)-(2,0)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (1,10)-(2,0) = "b\n" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "b\n" │ │ │ │ └── @ StringNode (location: (4,0)-(4,3)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (4,0)-(4,3) = " c" │ │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt b/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt index da2306312c..daf2f413bf 100644 --- a/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt +++ b/test/prism/snapshots/seattlerb/difficult1_line_numbers.txt @@ -1,18 +1,23 @@ @ ProgramNode (location: (1,0)-(12,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(12,3)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(12,3)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ TrueNode (location: (1,3)-(1,7)) + │ └── flags: static_literal ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (2,2)-(11,11)) + │ ├── flags: ∅ │ └── body: (length: 10) │ ├── @ CallNode (location: (2,2)-(2,5)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -23,12 +28,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (2,4)-(2,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── @ CallNode (location: (3,2)-(3,7)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (3,2)-(3,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -49,12 +54,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (3,6)-(3,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── @ CallNode (location: (4,2)-(4,10)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (4,2)-(4,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -75,15 +80,15 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ IntegerNode (location: (4,6)-(4,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 3 │ │ │ └── @ IntegerNode (location: (4,9)-(4,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 4 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── @ CallNode (location: (5,2)-(5,7)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (5,2)-(5,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -104,12 +109,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (5,6)-(5,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 5 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── @ CallNode (location: (6,2)-(6,10)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (6,2)-(6,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -130,15 +135,15 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ IntegerNode (location: (6,6)-(6,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 6 │ │ │ └── @ IntegerNode (location: (6,9)-(6,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 7 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── @ CallNode (location: (7,2)-(7,6)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -149,12 +154,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (7,4)-(7,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: (7,5)-(7,6) = ")" │ │ └── block: ∅ │ ├── @ CallNode (location: (8,2)-(8,8)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (8,2)-(8,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -175,12 +180,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (8,6)-(8,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: (8,7)-(8,8) = ")" │ │ └── block: ∅ │ ├── @ CallNode (location: (9,2)-(9,11)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (9,2)-(9,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -201,15 +206,15 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ IntegerNode (location: (9,6)-(9,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 3 │ │ │ └── @ IntegerNode (location: (9,9)-(9,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 4 │ │ ├── closing_loc: (9,10)-(9,11) = ")" │ │ └── block: ∅ │ ├── @ CallNode (location: (10,2)-(10,8)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ CallNode (location: (10,2)-(10,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -230,12 +235,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (10,6)-(10,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 5 │ │ ├── closing_loc: (10,7)-(10,8) = ")" │ │ └── block: ∅ │ └── @ CallNode (location: (11,2)-(11,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (11,2)-(11,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -256,10 +261,10 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ IntegerNode (location: (11,6)-(11,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 6 │ │ └── @ IntegerNode (location: (11,9)-(11,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 7 │ ├── closing_loc: (11,10)-(11,11) = ")" │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt b/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt index f586634c59..480e51c259 100644 --- a/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt +++ b/test/prism/snapshots/seattlerb/difficult1_line_numbers2.txt @@ -1,18 +1,23 @@ @ ProgramNode (location: (1,0)-(7,1)) +├── flags: ∅ ├── locals: [:b, :c] └── statements: @ StatementsNode (location: (1,0)-(7,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ IfNode (location: (1,0)-(6,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (1,3)-(1,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: (1,8)-(1,12) = "then" │ ├── statements: │ │ @ StatementsNode (location: (2,2)-(5,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 4) │ │ ├── @ CallNode (location: (2,2)-(2,8)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :p @@ -31,16 +36,17 @@ │ │ │ ├── closing_loc: (2,7)-(2,8) = ")" │ │ │ └── block: ∅ │ │ ├── @ LocalVariableWriteNode (location: (3,2)-(3,7)) + │ │ │ ├── flags: newline │ │ │ ├── name: :b │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (3,2)-(3,3) = "b" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (3,6)-(3,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: (3,4)-(3,5) = "=" │ │ ├── @ CallNode (location: (4,2)-(4,5)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :p @@ -51,23 +57,25 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (4,4)-(4,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :b │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ LocalVariableWriteNode (location: (5,2)-(5,6)) + │ │ ├── flags: newline │ │ ├── name: :c │ │ ├── depth: 0 │ │ ├── name_loc: (5,2)-(5,3) = "c" │ │ ├── value: │ │ │ @ IntegerNode (location: (5,5)-(5,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (5,4)-(5,5) = "=" │ ├── consequent: ∅ │ └── end_keyword_loc: (6,0)-(6,3) = "end" └── @ CallNode (location: (7,0)-(7,1)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a diff --git a/test/prism/snapshots/seattlerb/difficult2_.txt b/test/prism/snapshots/seattlerb/difficult2_.txt index b53d4cad3f..2ffeda1526 100644 --- a/test/prism/snapshots/seattlerb/difficult2_.txt +++ b/test/prism/snapshots/seattlerb/difficult2_.txt @@ -1,20 +1,24 @@ @ ProgramNode (location: (1,0)-(2,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,6)) + ├── flags: ∅ └── body: (length: 2) ├── @ IfNode (location: (1,0)-(1,13)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ IntegerNode (location: (1,0)-(1,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── then_keyword_loc: (1,2)-(1,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,4)-(1,9)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,4)-(1,9)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -34,17 +38,19 @@ │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,10)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (1,10)-(1,11) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,12)-(1,13)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 2 │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ CallNode (location: (2,0)-(2,6)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -58,16 +64,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (2,2)-(2,6)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (2,2)-(2,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (2,2)-(2,3) = "d" │ │ ├── closing_loc: (2,3)-(2,4) = ":" │ │ └── unescaped: "d" │ ├── value: │ │ @ IntegerNode (location: (2,5)-(2,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── operator_loc: ∅ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3_.txt b/test/prism/snapshots/seattlerb/difficult3_.txt index f074c49a9f..313cfa4cf2 100644 --- a/test/prism/snapshots/seattlerb/difficult3_.txt +++ b/test/prism/snapshots/seattlerb/difficult3_.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,22 +16,27 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,18)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :b │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,12)-(1,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14)) diff --git a/test/prism/snapshots/seattlerb/difficult3_2.txt b/test/prism/snapshots/seattlerb/difficult3_2.txt index af1a649171..e1eed78c79 100644 --- a/test/prism/snapshots/seattlerb/difficult3_2.txt +++ b/test/prism/snapshots/seattlerb/difficult3_2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,13)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: diff --git a/test/prism/snapshots/seattlerb/difficult3_3.txt b/test/prism/snapshots/seattlerb/difficult3_3.txt index e49bbcd55a..5dcd71d651 100644 --- a/test/prism/snapshots/seattlerb/difficult3_3.txt +++ b/test/prism/snapshots/seattlerb/difficult3_3.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,17)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: diff --git a/test/prism/snapshots/seattlerb/difficult3_4.txt b/test/prism/snapshots/seattlerb/difficult3_4.txt index 73afffb4cb..8d84f2d4c3 100644 --- a/test/prism/snapshots/seattlerb/difficult3_4.txt +++ b/test/prism/snapshots/seattlerb/difficult3_4.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,17)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ IfNode (location: (1,2)-(1,17)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (1,2)-(1,3)) @@ -24,15 +28,20 @@ │ ├── then_keyword_loc: (1,4)-(1,5) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,6)-(1,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ TrueNode (location: (1,6)-(1,10)) + │ │ └── flags: newline, static_literal │ ├── consequent: │ │ @ ElseNode (location: (1,10)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (1,10)-(1,11) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,12)-(1,17)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ FalseNode (location: (1,12)-(1,17)) + │ │ │ └── flags: newline, static_literal │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── operator_loc: (1,1)-(1,2) = "=" diff --git a/test/prism/snapshots/seattlerb/difficult3_5.txt b/test/prism/snapshots/seattlerb/difficult3_5.txt index 793c3f1e11..b8bbbdc03e 100644 --- a/test/prism/snapshots/seattlerb/difficult3_5.txt +++ b/test/prism/snapshots/seattlerb/difficult3_5.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,19)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -15,21 +17,24 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LambdaNode (location: (1,2)-(1,19)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── operator_loc: (1,2)-(1,4) = "->" │ ├── opening_loc: (1,7)-(1,8) = "{" │ ├── closing_loc: (1,18)-(1,19) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,4)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 0) │ │ ├── opening_loc: (1,4)-(1,5) = "(" │ │ └── closing_loc: (1,5)-(1,6) = ")" │ └── body: │ @ StatementsNode (location: (1,9)-(1,17)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,9)-(1,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :g @@ -39,6 +44,7 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,11)-(1,17)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/difficult3__10.txt b/test/prism/snapshots/seattlerb/difficult3__10.txt index 0131e44d44..a5ce0762f1 100644 --- a/test/prism/snapshots/seattlerb/difficult3__10.txt +++ b/test/prism/snapshots/seattlerb/difficult3__10.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,19 +16,24 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,18)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) diff --git a/test/prism/snapshots/seattlerb/difficult3__11.txt b/test/prism/snapshots/seattlerb/difficult3__11.txt index a658b091c2..c1017885d8 100644 --- a/test/prism/snapshots/seattlerb/difficult3__11.txt +++ b/test/prism/snapshots/seattlerb/difficult3__11.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,19 +16,24 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,14)) + ├── flags: ∅ ├── locals: [:a] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,9)-(1,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 0) diff --git a/test/prism/snapshots/seattlerb/difficult3__12.txt b/test/prism/snapshots/seattlerb/difficult3__12.txt index 5aa252fe6a..bbcfad48b4 100644 --- a/test/prism/snapshots/seattlerb/difficult3__12.txt +++ b/test/prism/snapshots/seattlerb/difficult3__12.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,19 +16,24 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,17)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,9)-(1,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 1) diff --git a/test/prism/snapshots/seattlerb/difficult3__6.txt b/test/prism/snapshots/seattlerb/difficult3__6.txt index a42a625be7..95d1ac39b5 100644 --- a/test/prism/snapshots/seattlerb/difficult3__6.txt +++ b/test/prism/snapshots/seattlerb/difficult3__6.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,21)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,22 +16,27 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,21)) + ├── flags: ∅ ├── locals: [:a, :b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :b │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,12)-(1,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (1,13)-(1,14)) diff --git a/test/prism/snapshots/seattlerb/difficult3__7.txt b/test/prism/snapshots/seattlerb/difficult3__7.txt index b08025804c..4640cfdb53 100644 --- a/test/prism/snapshots/seattlerb/difficult3__7.txt +++ b/test/prism/snapshots/seattlerb/difficult3__7.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,22 +16,27 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,17)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :b │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,12)-(1,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 0) diff --git a/test/prism/snapshots/seattlerb/difficult3__8.txt b/test/prism/snapshots/seattlerb/difficult3__8.txt index b2b118faef..e19cbfc279 100644 --- a/test/prism/snapshots/seattlerb/difficult3__8.txt +++ b/test/prism/snapshots/seattlerb/difficult3__8.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,22 +16,27 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,20)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,18)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :b │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,12)-(1,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,12)-(1,13) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 1) diff --git a/test/prism/snapshots/seattlerb/difficult3__9.txt b/test/prism/snapshots/seattlerb/difficult3__9.txt index 85c10a4432..2259351b41 100644 --- a/test/prism/snapshots/seattlerb/difficult3__9.txt +++ b/test/prism/snapshots/seattlerb/difficult3__9.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,19 +16,24 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,15)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,13)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ └── @ MultiTargetNode (location: (1,8)-(1,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (1,9)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,9)-(1,10) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (1,10)-(1,11)) diff --git a/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt b/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt index 8307c806e6..4201ed00aa 100644 --- a/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt +++ b/test/prism/snapshots/seattlerb/difficult4__leading_dots.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,2)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,2)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt b/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt index ee4370c0f0..8dd122ddd4 100644 --- a/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt +++ b/test/prism/snapshots/seattlerb/difficult4__leading_dots2.txt @@ -1,16 +1,18 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 └── @ RangeNode (location: (2,0)-(2,3)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── left: ∅ ├── right: │ @ IntegerNode (location: (2,2)-(2,3)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 3 └── operator_loc: (2,0)-(2,2) = ".." diff --git a/test/prism/snapshots/seattlerb/difficult6_.txt b/test/prism/snapshots/seattlerb/difficult6_.txt index bf80034fe9..fc273bda46 100644 --- a/test/prism/snapshots/seattlerb/difficult6_.txt +++ b/test/prism/snapshots/seattlerb/difficult6_.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,25)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,25)) + ├── flags: newline ├── locals: [:a, :b] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,13)-(1,14) = "{" ├── closing_loc: (1,24)-(1,25) = "}" ├── parameters: │ @ BlockParametersNode (location: (1,2)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,3)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4)) │ │ │ ├── flags: ∅ @@ -24,6 +29,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ NilNode (location: (1,8)-(1,11)) + │ │ │ └── flags: static_literal │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) │ │ ├── keywords: (length: 0) @@ -34,9 +40,10 @@ │ └── closing_loc: (1,11)-(1,12) = ")" └── body: @ StatementsNode (location: (1,15)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,15)-(1,23)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -50,9 +57,11 @@ │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ LocalVariableReadNode (location: (1,18)-(1,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableReadNode (location: (1,21)-(1,22)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── opening_loc: (1,17)-(1,18) = "[" diff --git a/test/prism/snapshots/seattlerb/difficult6__7.txt b/test/prism/snapshots/seattlerb/difficult6__7.txt index 7fe70c7033..509da6914f 100644 --- a/test/prism/snapshots/seattlerb/difficult6__7.txt +++ b/test/prism/snapshots/seattlerb/difficult6__7.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,24 +27,28 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,4)-(1,7)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── opening_loc: (1,4)-(1,5) = "(" │ └── closing_loc: (1,6)-(1,7) = ")" ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,8)-(1,11)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,9)-(1,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,9)-(1,10)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/difficult6__8.txt b/test/prism/snapshots/seattlerb/difficult6__8.txt index 7f915e283c..c6fece62cb 100644 --- a/test/prism/snapshots/seattlerb/difficult6__8.txt +++ b/test/prism/snapshots/seattlerb/difficult6__8.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,24 +27,28 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,5)-(1,8)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,6)-(1,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── opening_loc: (1,5)-(1,6) = "(" │ └── closing_loc: (1,7)-(1,8) = ")" ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,9)-(1,12)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,10)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,10)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/difficult7_.txt b/test/prism/snapshots/seattlerb/difficult7_.txt index 40c778cf6c..0635798848 100644 --- a/test/prism/snapshots/seattlerb/difficult7_.txt +++ b/test/prism/snapshots/seattlerb/difficult7_.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,6)-(4,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,6)-(4,7)) + ├── flags: ∅ └── body: (length: 1) └── @ HashNode (location: (1,6)-(4,7)) + ├── flags: newline ├── opening_loc: (1,6)-(1,7) = "{" ├── elements: (length: 2) │ ├── @ AssocNode (location: (2,8)-(2,33)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (2,8)-(2,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (2,8)-(2,9) = "a" │ │ │ ├── closing_loc: (2,9)-(2,10) = ":" @@ -26,12 +30,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (2,18)-(2,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (2,20)-(2,31)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IfNode (location: (2,20)-(2,31)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── if_keyword_loc: ∅ │ │ │ │ ├── predicate: │ │ │ │ │ @ CallNode (location: (2,20)-(2,21)) @@ -47,9 +54,10 @@ │ │ │ │ ├── then_keyword_loc: (2,22)-(2,23) = "?" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (2,24)-(2,27)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (2,24)-(2,27)) - │ │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :c @@ -60,12 +68,14 @@ │ │ │ │ │ └── block: ∅ │ │ │ │ ├── consequent: │ │ │ │ │ @ ElseNode (location: (2,28)-(2,31)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── else_keyword_loc: (2,28)-(2,29) = ":" │ │ │ │ │ ├── statements: │ │ │ │ │ │ @ StatementsNode (location: (2,30)-(2,31)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ CallNode (location: (2,30)-(2,31)) - │ │ │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ │ ├── name: :d @@ -80,14 +90,16 @@ │ │ │ └── closing_loc: (2,32)-(2,33) = "}" │ │ └── operator_loc: ∅ │ └── @ AssocNode (location: (3,8)-(3,14)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (3,8)-(3,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (3,8)-(3,9) = "e" │ │ ├── closing_loc: (3,9)-(3,10) = ":" │ │ └── unescaped: "e" │ ├── value: │ │ @ NilNode (location: (3,11)-(3,14)) + │ │ └── flags: static_literal │ └── operator_loc: ∅ └── closing_loc: (4,6)-(4,7) = "}" diff --git a/test/prism/snapshots/seattlerb/do_bug.txt b/test/prism/snapshots/seattlerb/do_bug.txt index 5877b18d68..8d1a0b786c 100644 --- a/test/prism/snapshots/seattlerb/do_bug.txt +++ b/test/prism/snapshots/seattlerb/do_bug.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -15,12 +17,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,2)-(1,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (2,0)-(4,3)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (2,0)-(2,1)) │ ├── flags: variable_call, ignore_visibility @@ -40,11 +42,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (2,4)-(4,3)) + ├── flags: ∅ ├── locals: [:c] ├── parameters: │ @ BlockParametersNode (location: (2,7)-(2,10)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (2,8)-(2,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (2,8)-(2,9)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/do_lambda.txt b/test/prism/snapshots/seattlerb/do_lambda.txt index 4713fb3e4b..76383b0ada 100644 --- a/test/prism/snapshots/seattlerb/do_lambda.txt +++ b/test/prism/snapshots/seattlerb/do_lambda.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,11)) + ├── flags: newline ├── locals: [] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,5)-(1,7) = "do" ├── closing_loc: (1,8)-(1,11) = "end" ├── parameters: │ @ BlockParametersNode (location: (1,2)-(1,4)) + │ ├── flags: ∅ │ ├── parameters: ∅ │ ├── locals: (length: 0) │ ├── opening_loc: (1,2)-(1,3) = "(" diff --git a/test/prism/snapshots/seattlerb/dot2_nil__26.txt b/test/prism/snapshots/seattlerb/dot2_nil__26.txt index 104515ac3a..fc5122055f 100644 --- a/test/prism/snapshots/seattlerb/dot2_nil__26.txt +++ b/test/prism/snapshots/seattlerb/dot2_nil__26.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,3)) - ├── flags: ∅ + ├── flags: newline ├── left: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/dot3_nil__26.txt b/test/prism/snapshots/seattlerb/dot3_nil__26.txt index ec7f57cd96..c2277975db 100644 --- a/test/prism/snapshots/seattlerb/dot3_nil__26.txt +++ b/test/prism/snapshots/seattlerb/dot3_nil__26.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,4)) - ├── flags: exclude_end + ├── flags: newline, exclude_end ├── left: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/dstr_evstr.txt b/test/prism/snapshots/seattlerb/dstr_evstr.txt index add8ad6f5c..143d8ff584 100644 --- a/test/prism/snapshots/seattlerb/dstr_evstr.txt +++ b/test/prism/snapshots/seattlerb/dstr_evstr.txt @@ -1,28 +1,34 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,12)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 2) │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,3)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ StringNode (location: (1,3)-(1,6)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (1,3)-(1,4) = "'" │ │ │ ├── content_loc: (1,4)-(1,5) = "a" │ │ │ ├── closing_loc: (1,5)-(1,6) = "'" │ │ │ └── unescaped: "a" │ │ └── closing_loc: (1,6)-(1,7) = "}" │ └── @ EmbeddedStatementsNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ ├── opening_loc: (1,7)-(1,9) = "\#{" │ ├── statements: │ │ @ StatementsNode (location: (1,9)-(1,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,9)-(1,10)) │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt b/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt index 53f97e4b36..8e3ade63c9 100644 --- a/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt +++ b/test/prism/snapshots/seattlerb/dstr_evstr_empty_end.txt @@ -1,15 +1,20 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedSymbolNode (location: (1,0)-(1,11)) + ├── flags: newline ├── opening_loc: (1,0)-(1,2) = ":\"" ├── parts: (length: 1) │ └── @ EmbeddedStatementsNode (location: (1,2)-(1,10)) + │ ├── flags: ∅ │ ├── opening_loc: (1,2)-(1,4) = "\#{" │ ├── statements: │ │ @ StatementsNode (location: (1,4)-(1,9)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,4)-(1,9)) │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/dstr_lex_state.txt b/test/prism/snapshots/seattlerb/dstr_lex_state.txt index c4c0ef0437..2bdeab0834 100644 --- a/test/prism/snapshots/seattlerb/dstr_lex_state.txt +++ b/test/prism/snapshots/seattlerb/dstr_lex_state.txt @@ -1,16 +1,20 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 1) │ └── @ EmbeddedStatementsNode (location: (1,1)-(1,7)) + │ ├── flags: ∅ │ ├── opening_loc: (1,1)-(1,3) = "\#{" │ ├── statements: │ │ @ StatementsNode (location: (1,3)-(1,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,3)-(1,6)) │ │ ├── flags: ignore_visibility @@ -24,7 +28,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SymbolNode (location: (1,4)-(1,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,4)-(1,5) = ":" │ │ │ ├── value_loc: (1,5)-(1,6) = "a" │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/dstr_str.txt b/test/prism/snapshots/seattlerb/dstr_str.txt index 6fe0781880..7b3e0e36ad 100644 --- a/test/prism/snapshots/seattlerb/dstr_str.txt +++ b/test/prism/snapshots/seattlerb/dstr_str.txt @@ -1,26 +1,30 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,10)) - ├── flags: mutable + ├── flags: newline, static_literal, mutable ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 2) │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,3)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ StringNode (location: (1,3)-(1,6)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (1,3)-(1,4) = "'" │ │ │ ├── content_loc: (1,4)-(1,5) = "a" │ │ │ ├── closing_loc: (1,5)-(1,6) = "'" │ │ │ └── unescaped: "a" │ │ └── closing_loc: (1,6)-(1,7) = "}" │ └── @ StringNode (location: (1,7)-(1,9)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,7)-(1,9) = " b" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/dsym_esc_to_sym.txt b/test/prism/snapshots/seattlerb/dsym_esc_to_sym.txt index 7b1b68131e..4224e305e9 100644 --- a/test/prism/snapshots/seattlerb/dsym_esc_to_sym.txt +++ b/test/prism/snapshots/seattlerb/dsym_esc_to_sym.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ SymbolNode (location: (1,0)-(1,17)) - ├── flags: forced_utf8_encoding + ├── flags: newline, static_literal, forced_utf8_encoding ├── opening_loc: (1,0)-(1,2) = ":\"" ├── value_loc: (1,2)-(1,16) = "Variet\\303\\240" ├── closing_loc: (1,16)-(1,17) = "\"" diff --git a/test/prism/snapshots/seattlerb/dsym_to_sym.txt b/test/prism/snapshots/seattlerb/dsym_to_sym.txt index eb7e435c63..7c5d2bef87 100644 --- a/test/prism/snapshots/seattlerb/dsym_to_sym.txt +++ b/test/prism/snapshots/seattlerb/dsym_to_sym.txt @@ -1,35 +1,39 @@ @ ProgramNode (location: (1,0)-(3,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,13)) + ├── flags: ∅ └── body: (length: 2) ├── @ AliasMethodNode (location: (1,0)-(1,17)) + │ ├── flags: newline │ ├── new_name: │ │ @ SymbolNode (location: (1,6)-(1,11)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,6)-(1,8) = ":\"" │ │ ├── value_loc: (1,8)-(1,10) = "<<" │ │ ├── closing_loc: (1,10)-(1,11) = "\"" │ │ └── unescaped: "<<" │ ├── old_name: │ │ @ SymbolNode (location: (1,12)-(1,17)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,12)-(1,14) = ":\"" │ │ ├── value_loc: (1,14)-(1,16) = ">>" │ │ ├── closing_loc: (1,16)-(1,17) = "\"" │ │ └── unescaped: ">>" │ └── keyword_loc: (1,0)-(1,5) = "alias" └── @ AliasMethodNode (location: (3,0)-(3,13)) + ├── flags: newline ├── new_name: │ @ SymbolNode (location: (3,6)-(3,9)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (3,6)-(3,7) = ":" │ ├── value_loc: (3,7)-(3,9) = "<<" │ ├── closing_loc: ∅ │ └── unescaped: "<<" ├── old_name: │ @ SymbolNode (location: (3,10)-(3,13)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (3,10)-(3,11) = ":" │ ├── value_loc: (3,11)-(3,13) = ">>" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/eq_begin_line_numbers.txt b/test/prism/snapshots/seattlerb/eq_begin_line_numbers.txt index a5fc3951d6..010ee71da0 100644 --- a/test/prism/snapshots/seattlerb/eq_begin_line_numbers.txt +++ b/test/prism/snapshots/seattlerb/eq_begin_line_numbers.txt @@ -1,11 +1,13 @@ @ ProgramNode (location: (1,0)-(6,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(6,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 └── @ IntegerNode (location: (6,0)-(6,1)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 2 diff --git a/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt b/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt index 2103bde8cb..5f6a3fe62e 100644 --- a/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt +++ b/test/prism/snapshots/seattlerb/eq_begin_why_wont_people_use_their_spacebar.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,8)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -35,12 +37,14 @@ │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── @ BeginNode (location: (1,5)-(3,8)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: (1,5)-(1,10) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (2,7)-(2,9)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (2,7)-(2,9)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 42 │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ diff --git a/test/prism/snapshots/seattlerb/evstr_evstr.txt b/test/prism/snapshots/seattlerb/evstr_evstr.txt index 9c801299f8..c8dba1c3e5 100644 --- a/test/prism/snapshots/seattlerb/evstr_evstr.txt +++ b/test/prism/snapshots/seattlerb/evstr_evstr.txt @@ -1,16 +1,20 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,10)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 2) │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,3)-(1,4)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -24,9 +28,11 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (1,4)-(1,5) = "}" │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,9)) + │ ├── flags: ∅ │ ├── opening_loc: (1,5)-(1,7) = "\#{" │ ├── statements: │ │ @ StatementsNode (location: (1,7)-(1,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,7)-(1,8)) │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/evstr_str.txt b/test/prism/snapshots/seattlerb/evstr_str.txt index 54319e613c..69a992b19a 100644 --- a/test/prism/snapshots/seattlerb/evstr_str.txt +++ b/test/prism/snapshots/seattlerb/evstr_str.txt @@ -1,16 +1,20 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 2) │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,3)-(1,4)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -24,7 +28,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (1,4)-(1,5) = "}" │ └── @ StringNode (location: (1,5)-(1,7)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,5)-(1,7) = " b" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/expr_not_bang.txt b/test/prism/snapshots/seattlerb/expr_not_bang.txt index 0a289ab7be..868ef85648 100644 --- a/test/prism/snapshots/seattlerb/expr_not_bang.txt +++ b/test/prism/snapshots/seattlerb/expr_not_bang.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,2)-(1,5)) │ ├── flags: ignore_visibility diff --git a/test/prism/snapshots/seattlerb/f_kw.txt b/test/prism/snapshots/seattlerb/f_kw.txt index 4226137925..e2b82371b8 100644 --- a/test/prism/snapshots/seattlerb/f_kw.txt +++ b/test/prism/snapshots/seattlerb/f_kw.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,15)) + ├── flags: newline ├── name: :x ├── name_loc: (1,4)-(1,5) = "x" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,10)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -20,7 +24,7 @@ │ │ ├── name_loc: (1,6)-(1,8) = "k:" │ │ └── value: │ │ @ IntegerNode (location: (1,8)-(1,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ ├── keyword_rest: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/f_kw__required.txt b/test/prism/snapshots/seattlerb/f_kw__required.txt index f72f43e034..c44dbbf2fc 100644 --- a/test/prism/snapshots/seattlerb/f_kw__required.txt +++ b/test/prism/snapshots/seattlerb/f_kw__required.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,13)) + ├── flags: newline ├── name: :x ├── name_loc: (1,4)-(1,5) = "x" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,8)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/flip2_env_lvar.txt b/test/prism/snapshots/seattlerb/flip2_env_lvar.txt index 5a71ab6cda..8950bbf087 100644 --- a/test/prism/snapshots/seattlerb/flip2_env_lvar.txt +++ b/test/prism/snapshots/seattlerb/flip2_env_lvar.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,16)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (1,3)-(1,7)) diff --git a/test/prism/snapshots/seattlerb/float_with_if_modifier.txt b/test/prism/snapshots/seattlerb/float_with_if_modifier.txt index 9c1da70f24..aab855944c 100644 --- a/test/prism/snapshots/seattlerb/float_with_if_modifier.txt +++ b/test/prism/snapshots/seattlerb/float_with_if_modifier.txt @@ -1,17 +1,23 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,10)) + ├── flags: newline ├── if_keyword_loc: (1,3)-(1,5) = "if" ├── predicate: │ @ TrueNode (location: (1,6)-(1,10)) + │ └── flags: static_literal ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,0)-(1,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ FloatNode (location: (1,0)-(1,3)) + │ ├── flags: newline, static_literal │ └── value: 1.0 ├── consequent: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc__backslash_dos_format.txt b/test/prism/snapshots/seattlerb/heredoc__backslash_dos_format.txt index 353e4c6964..7d745587b3 100644 --- a/test/prism/snapshots/seattlerb/heredoc__backslash_dos_format.txt +++ b/test/prism/snapshots/seattlerb/heredoc__backslash_dos_format.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:str] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── name: :str ├── depth: 0 ├── name_loc: (1,0)-(1,3) = "str" diff --git a/test/prism/snapshots/seattlerb/heredoc_backslash_nl.txt b/test/prism/snapshots/seattlerb/heredoc_backslash_nl.txt index fc4c1784fe..4c34bf6ef6 100644 --- a/test/prism/snapshots/seattlerb/heredoc_backslash_nl.txt +++ b/test/prism/snapshots/seattlerb/heredoc_backslash_nl.txt @@ -1,16 +1,18 @@ @ ProgramNode (location: (1,0)-(5,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,7)) + ├── flags: ∅ └── body: (length: 2) ├── @ StringNode (location: (1,0)-(3,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── content_loc: (1,1)-(3,0) = " why would someone do this? \\\n blah\n" │ ├── closing_loc: (3,0)-(3,1) = "\"" │ └── unescaped: " why would someone do this? blah\n" └── @ StringNode (location: (5,0)-(5,7)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (5,0)-(5,7) = "<<-DESC" ├── content_loc: (6,0)-(8,0) = " why would someone do this? \\\n blah\n" ├── closing_loc: (8,0)-(9,0) = "DESC\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_bad_hex_escape.txt b/test/prism/snapshots/seattlerb/heredoc_bad_hex_escape.txt index 2b1d776404..1c521108c0 100644 --- a/test/prism/snapshots/seattlerb/heredoc_bad_hex_escape.txt +++ b/test/prism/snapshots/seattlerb/heredoc_bad_hex_escape.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [:s] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,9)) + ├── flags: newline ├── name: :s ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "s" diff --git a/test/prism/snapshots/seattlerb/heredoc_bad_oct_escape.txt b/test/prism/snapshots/seattlerb/heredoc_bad_oct_escape.txt index 7a01f8d6d1..9726a71822 100644 --- a/test/prism/snapshots/seattlerb/heredoc_bad_oct_escape.txt +++ b/test/prism/snapshots/seattlerb/heredoc_bad_oct_escape.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [:s] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,10)) + ├── flags: newline ├── name: :s ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "s" diff --git a/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt b/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt index 888ebc809a..0a43298472 100644 --- a/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt +++ b/test/prism/snapshots/seattlerb/heredoc_comma_arg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(7,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(2,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (1,1)-(2,1)) │ │ ├── flags: ∅ @@ -15,7 +17,7 @@ │ ├── opening_loc: (1,0)-(1,1) = "[" │ └── closing_loc: (2,2)-(2,3) = "]" └── @ ArrayNode (location: (4,0)-(7,1)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 1) │ └── @ StringNode (location: (4,1)-(4,8)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_lineno.txt b/test/prism/snapshots/seattlerb/heredoc_lineno.txt index a51ce71afe..7dde22912e 100644 --- a/test/prism/snapshots/seattlerb/heredoc_lineno.txt +++ b/test/prism/snapshots/seattlerb/heredoc_lineno.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(7,6)) +├── flags: ∅ ├── locals: [:c, :d] └── statements: @ StatementsNode (location: (1,0)-(7,6)) + ├── flags: ∅ └── body: (length: 2) ├── @ LocalVariableWriteNode (location: (1,0)-(1,11)) + │ ├── flags: newline │ ├── name: :c │ ├── depth: 0 │ ├── name_loc: (1,0)-(1,1) = "c" @@ -16,11 +19,12 @@ │ │ └── unescaped: "line2\nline3\nline4\n" │ └── operator_loc: (1,2)-(1,3) = "=" └── @ LocalVariableWriteNode (location: (7,0)-(7,6)) + ├── flags: newline ├── name: :d ├── depth: 0 ├── name_loc: (7,0)-(7,1) = "d" ├── value: │ @ IntegerNode (location: (7,4)-(7,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 42 └── operator_loc: (7,2)-(7,3) = "=" diff --git a/test/prism/snapshots/seattlerb/heredoc_nested.txt b/test/prism/snapshots/seattlerb/heredoc_nested.txt index a2322b9632..4820ef6d4d 100644 --- a/test/prism/snapshots/seattlerb/heredoc_nested.txt +++ b/test/prism/snapshots/seattlerb/heredoc_nested.txt @@ -1,42 +1,46 @@ @ ProgramNode (location: (1,0)-(7,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,2)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(7,2)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 2) │ ├── @ InterpolatedStringNode (location: (1,1)-(1,4)) - │ │ ├── flags: mutable + │ │ ├── flags: static_literal, mutable │ │ ├── opening_loc: (1,1)-(1,4) = "<<A" │ │ ├── parts: (length: 3) │ │ │ ├── @ EmbeddedStatementsNode (location: (2,0)-(2,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (2,0)-(2,2) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (2,2)-(2,5)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ StringNode (location: (2,2)-(2,5)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: (2,2)-(2,5) = "<<B" │ │ │ │ │ ├── content_loc: (3,0)-(4,0) = "b\n" │ │ │ │ │ ├── closing_loc: (4,0)-(5,0) = "B\n" │ │ │ │ │ └── unescaped: "b\n" │ │ │ │ └── closing_loc: (2,5)-(2,6) = "}" │ │ │ ├── @ StringNode (location: (2,6)-(3,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (2,6)-(3,0) = "\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "\n" │ │ │ └── @ StringNode (location: (5,0)-(6,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (5,0)-(6,0) = "a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── closing_loc: (6,0)-(7,0) = "A\n" │ └── @ IntegerNode (location: (7,0)-(7,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 0 ├── opening_loc: (1,0)-(1,1) = "[" └── closing_loc: (7,1)-(7,2) = "]" diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly.txt index 9bab044ace..2f9f054832 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly.txt @@ -1,31 +1,34 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ InterpolatedStringNode (location: (1,4)-(1,12)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── opening_loc: (1,4)-(1,12) = "<<~\"EOF\"" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "x\n" │ │ ├── @ StringNode (location: (3,0)-(4,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,0)-(4,0) = " y\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "y\n" │ │ └── @ StringNode (location: (4,0)-(5,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (4,0)-(5,0) = " z\n" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt index e12014afa5..ce8f1d7043 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_line_plus_interpolation.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,20)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" @@ -27,15 +30,17 @@ │ │ │ ├── opening_loc: (1,8)-(1,14) = "<<~EOF" │ │ │ ├── parts: (length: 3) │ │ │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (2,0)-(3,0) = "\n" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "\n" │ │ │ │ ├── @ EmbeddedStatementsNode (location: (3,4)-(3,10)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── opening_loc: (3,4)-(3,6) = "\#{" │ │ │ │ │ ├── statements: │ │ │ │ │ │ @ StatementsNode (location: (3,6)-(3,9)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ CallNode (location: (3,6)-(3,9)) │ │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -49,7 +54,7 @@ │ │ │ │ │ │ └── block: ∅ │ │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}" │ │ │ │ └── @ StringNode (location: (3,10)-(4,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (3,10)-(4,0) = "baz\n" │ │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_lines.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_lines.txt index 8596647e72..06921ce78b 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_lines.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_blank_lines.txt @@ -1,31 +1,34 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,10)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ InterpolatedStringNode (location: (1,4)-(1,10)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── opening_loc: (1,4)-(1,10) = "<<~EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "x\n" │ │ ├── @ StringNode (location: (3,0)-(4,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,0)-(4,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ └── @ StringNode (location: (4,0)-(5,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (4,0)-(5,0) = " z\n" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_empty.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_empty.txt index c998f19984..28edecc527 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_empty.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_empty.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,4) = "<<~A" ├── content_loc: (2,0)-(2,0) = "" ├── closing_loc: (2,0)-(3,0) = "A\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_interp.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_interp.txt index d34f89ff9c..d2448074e8 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_interp.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_interp.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,10)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" @@ -13,34 +16,36 @@ │ ├── opening_loc: (1,4)-(1,10) = "<<~EOF" │ ├── parts: (length: 5) │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (2,0)-(3,0) = " w\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " w\n" │ │ ├── @ StringNode (location: (3,0)-(3,3)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,0)-(3,3) = " x" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "x" │ │ ├── @ EmbeddedStatementsNode (location: (3,3)-(3,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (3,3)-(3,5) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (3,5)-(3,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (3,5)-(3,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ └── closing_loc: (3,7)-(3,8) = "}" │ │ ├── @ StringNode (location: (3,8)-(4,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,8)-(4,0) = " y\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " y\n" │ │ └── @ StringNode (location: (4,0)-(5,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (4,0)-(5,0) = " z\n" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_no_indent.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_no_indent.txt index 7c17bc4820..4dc7ae3676 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_no_indent.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_no_indent.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,4) = "<<~A" ├── content_loc: (2,0)-(3,0) = "a\n" ├── closing_loc: (3,0)-(4,0) = "A\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_tabs.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_tabs.txt index 311d7bc1b7..124e1618e1 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_tabs.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_tabs.txt @@ -1,25 +1,28 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ InterpolatedStringNode (location: (1,4)-(1,12)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── opening_loc: (1,4)-(1,12) = "<<~\"EOF\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (2,0)-(3,0) = " blah blah\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "blah blah\n" │ │ └── @ StringNode (location: (3,0)-(4,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (3,0)-(4,0) = "\t blah blah\n" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_tabs_extra.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_tabs_extra.txt index 3150f807a2..b15074f8ac 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_tabs_extra.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_tabs_extra.txt @@ -1,25 +1,28 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ InterpolatedStringNode (location: (1,4)-(1,12)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── opening_loc: (1,4)-(1,12) = "<<~\"EOF\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (2,0)-(3,0) = " blah blah\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "blah blah\n" │ │ └── @ StringNode (location: (3,0)-(4,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (3,0)-(4,0) = " \tblah blah\n" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_squiggly_visually_blank_lines.txt b/test/prism/snapshots/seattlerb/heredoc_squiggly_visually_blank_lines.txt index 85c3d2df6d..06aeaa2e1b 100644 --- a/test/prism/snapshots/seattlerb/heredoc_squiggly_visually_blank_lines.txt +++ b/test/prism/snapshots/seattlerb/heredoc_squiggly_visually_blank_lines.txt @@ -1,31 +1,34 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,10)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ InterpolatedStringNode (location: (1,4)-(1,10)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── opening_loc: (1,4)-(1,10) = "<<~EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "x\n" │ │ ├── @ StringNode (location: (3,0)-(4,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,0)-(4,0) = " \n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ └── @ StringNode (location: (4,0)-(5,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (4,0)-(5,0) = " z\n" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt b/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt index bc05047b40..758a4c9122 100644 --- a/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt +++ b/test/prism/snapshots/seattlerb/heredoc_trailing_slash_continued_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,6)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ StringNode (location: (1,0)-(1,5)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_unicode.txt b/test/prism/snapshots/seattlerb/heredoc_unicode.txt index 2c72854324..fd4dac3647 100644 --- a/test/prism/snapshots/seattlerb/heredoc_unicode.txt +++ b/test/prism/snapshots/seattlerb/heredoc_unicode.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,9) = "<<OOTPÜT" ├── content_loc: (2,0)-(3,0) = ".\n" ├── closing_loc: (3,0)-(4,0) = "OOTPÜT\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_with_carriage_return_escapes.txt b/test/prism/snapshots/seattlerb/heredoc_with_carriage_return_escapes.txt index 43bb8d5ea8..8d1bef5220 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_carriage_return_escapes.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_carriage_return_escapes.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,5) = "<<EOS" ├── content_loc: (2,0)-(4,0) = "foo\\rbar\nbaz\\r\n" ├── closing_loc: (4,0)-(5,0) = "EOS\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_with_carriage_return_escapes_windows.txt b/test/prism/snapshots/seattlerb/heredoc_with_carriage_return_escapes_windows.txt index 2ef6763389..3c932074f4 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_carriage_return_escapes_windows.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_carriage_return_escapes_windows.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,5) = "<<EOS" ├── content_loc: (2,0)-(4,0) = "foo\\rbar\r\nbaz\\r\r\n" ├── closing_loc: (4,0)-(5,0) = "EOS\r\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_horrible_mix.txt b/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_horrible_mix.txt index fbee030100..224009a65c 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_horrible_mix.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_horrible_mix.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,7)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,7) = "<<'eot'" ├── content_loc: (2,0)-(3,0) = "body\r\n" ├── closing_loc: (3,0)-(4,0) = "eot\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_returns.txt b/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_returns.txt index b59203bc4e..a357f216fa 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_returns.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_returns.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,5) = "<<EOS" ├── content_loc: (2,0)-(4,0) = "foo\rbar\r\nbaz\n" ├── closing_loc: (4,0)-(5,0) = "EOS\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_returns_windows.txt b/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_returns_windows.txt index 36bc4c6560..83662484f7 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_returns_windows.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_extra_carriage_returns_windows.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,5) = "<<EOS" ├── content_loc: (2,0)-(4,0) = "foo\rbar\r\r\nbaz\r\n" ├── closing_loc: (4,0)-(5,0) = "EOS\r\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes.txt b/test/prism/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes.txt index c4be1244dc..24e6839ba5 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes.txt @@ -1,25 +1,29 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,5) = "<<EOS" ├── parts: (length: 3) │ ├── @ StringNode (location: (2,0)-(2,5)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (2,0)-(2,5) = "foo\\r" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo\r" │ ├── @ EmbeddedVariableNode (location: (2,5)-(2,10)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (2,5)-(2,6) = "#" │ │ └── variable: │ │ @ InstanceVariableReadNode (location: (2,6)-(2,10)) + │ │ ├── flags: ∅ │ │ └── name: :@bar │ └── @ StringNode (location: (2,10)-(3,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (2,10)-(3,0) = "\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes_windows.txt b/test/prism/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes_windows.txt index c2290cec13..a4cbf900c4 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes_windows.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_interpolation_and_carriage_return_escapes_windows.txt @@ -1,25 +1,29 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,5) = "<<EOS" ├── parts: (length: 3) │ ├── @ StringNode (location: (2,0)-(2,5)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (2,0)-(2,5) = "foo\\r" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo\r" │ ├── @ EmbeddedVariableNode (location: (2,5)-(2,10)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (2,5)-(2,6) = "#" │ │ └── variable: │ │ @ InstanceVariableReadNode (location: (2,6)-(2,10)) + │ │ ├── flags: ∅ │ │ └── name: :@bar │ └── @ StringNode (location: (2,10)-(3,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (2,10)-(3,0) = "\r\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/heredoc_with_not_global_interpolation.txt b/test/prism/snapshots/seattlerb/heredoc_with_not_global_interpolation.txt index 6e1648f659..cdea468fed 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_not_global_interpolation.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_not_global_interpolation.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,10)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,10) = "<<-HEREDOC" ├── content_loc: (2,0)-(3,0) = "\#${\n" ├── closing_loc: (3,0)-(4,0) = "HEREDOC\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_with_only_carriage_returns.txt b/test/prism/snapshots/seattlerb/heredoc_with_only_carriage_returns.txt index 6a535c6472..9936738579 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_only_carriage_returns.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_only_carriage_returns.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,5) = "<<EOS" ├── content_loc: (2,0)-(5,0) = "\r\n\r\r\n\\r\n" ├── closing_loc: (5,0)-(6,0) = "EOS\n" diff --git a/test/prism/snapshots/seattlerb/heredoc_with_only_carriage_returns_windows.txt b/test/prism/snapshots/seattlerb/heredoc_with_only_carriage_returns_windows.txt index 6539846ff1..55dfd316ac 100644 --- a/test/prism/snapshots/seattlerb/heredoc_with_only_carriage_returns_windows.txt +++ b/test/prism/snapshots/seattlerb/heredoc_with_only_carriage_returns_windows.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,5) = "<<EOS" ├── content_loc: (2,0)-(5,0) = "\r\r\n\r\r\r\n\\r\r\n" ├── closing_loc: (5,0)-(6,0) = "EOS\r\n" diff --git a/test/prism/snapshots/seattlerb/if_elsif.txt b/test/prism/snapshots/seattlerb/if_elsif.txt index 034850158c..a3febd97a5 100644 --- a/test/prism/snapshots/seattlerb/if_elsif.txt +++ b/test/prism/snapshots/seattlerb/if_elsif.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,18)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ IntegerNode (location: (1,3)-(1,4)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── then_keyword_loc: ∅ ├── statements: ∅ ├── consequent: │ @ IfNode (location: (1,6)-(1,18)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,6)-(1,11) = "elsif" │ ├── predicate: │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── then_keyword_loc: ∅ │ ├── statements: ∅ diff --git a/test/prism/snapshots/seattlerb/if_symbol.txt b/test/prism/snapshots/seattlerb/if_symbol.txt index 85ec52b4c8..1a0be527e5 100644 --- a/test/prism/snapshots/seattlerb/if_symbol.txt +++ b/test/prism/snapshots/seattlerb/if_symbol.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,12)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,7)) @@ -18,7 +21,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (1,5)-(1,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,5)-(1,6) = ":" │ │ ├── value_loc: (1,6)-(1,7) = "x" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/in_expr_no_case.txt b/test/prism/snapshots/seattlerb/in_expr_no_case.txt index 0a026c08db..97493c73c1 100644 --- a/test/prism/snapshots/seattlerb/in_expr_no_case.txt +++ b/test/prism/snapshots/seattlerb/in_expr_no_case.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ MatchPredicateNode (location: (1,0)-(1,16)) + ├── flags: newline ├── value: │ @ StringNode (location: (1,0)-(1,6)) │ ├── flags: ∅ @@ -13,5 +16,6 @@ │ └── unescaped: "woot" ├── pattern: │ @ ConstantReadNode (location: (1,10)-(1,16)) + │ ├── flags: ∅ │ └── name: :String └── operator_loc: (1,7)-(1,9) = "in" diff --git a/test/prism/snapshots/seattlerb/index_0.txt b/test/prism/snapshots/seattlerb/index_0.txt index 9771e9c2bd..186e84dd64 100644 --- a/test/prism/snapshots/seattlerb/index_0.txt +++ b/test/prism/snapshots/seattlerb/index_0.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/index_0_opasgn.txt b/test/prism/snapshots/seattlerb/index_0_opasgn.txt index 322eae9907..036128546a 100644 --- a/test/prism/snapshots/seattlerb/index_0_opasgn.txt +++ b/test/prism/snapshots/seattlerb/index_0_opasgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ IndexOperatorWriteNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/integer_with_if_modifier.txt b/test/prism/snapshots/seattlerb/integer_with_if_modifier.txt index 2108c1f0a0..18a607cd10 100644 --- a/test/prism/snapshots/seattlerb/integer_with_if_modifier.txt +++ b/test/prism/snapshots/seattlerb/integer_with_if_modifier.txt @@ -1,18 +1,23 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,12)) + ├── flags: newline ├── if_keyword_loc: (1,5)-(1,7) = "if" ├── predicate: │ @ TrueNode (location: (1,8)-(1,12)) + │ └── flags: static_literal ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,0)-(1,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,0)-(1,5)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1234 ├── consequent: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt b/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt index ab231cf539..9a4d00cb29 100644 --- a/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/interpolated_symbol_array_line_breaks.txt @@ -1,19 +1,21 @@ @ ProgramNode (location: (1,0)-(5,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(4,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (2,0)-(2,1)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (2,0)-(2,1) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (3,0)-(3,1)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (3,0)-(3,1) = "b" │ │ ├── closing_loc: ∅ @@ -21,5 +23,5 @@ │ ├── opening_loc: (1,0)-(1,3) = "%I(" │ └── closing_loc: (4,0)-(4,1) = ")" └── @ IntegerNode (location: (5,0)-(5,1)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt b/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt index 933e5de627..88054f0935 100644 --- a/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/interpolated_word_array_line_breaks.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(4,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (2,0)-(2,1)) │ │ │ ├── flags: ∅ @@ -21,5 +23,5 @@ │ ├── opening_loc: (1,0)-(1,3) = "%W(" │ └── closing_loc: (4,0)-(4,1) = ")" └── @ IntegerNode (location: (5,0)-(5,1)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/iter_args_1.txt b/test/prism/snapshots/seattlerb/iter_args_1.txt index f76bbfc559..7c3e7a3e22 100644 --- a/test/prism/snapshots/seattlerb/iter_args_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_1.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,11)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,9)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_10_1.txt b/test/prism/snapshots/seattlerb/iter_args_10_1.txt index b8aaae800a..b8d908757a 100644 --- a/test/prism/snapshots/seattlerb/iter_args_10_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_10_1.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,21)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,21)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) diff --git a/test/prism/snapshots/seattlerb/iter_args_10_2.txt b/test/prism/snapshots/seattlerb/iter_args_10_2.txt index 833f6429dc..4c668599e1 100644 --- a/test/prism/snapshots/seattlerb/iter_args_10_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_10_2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,25)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,25)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,25)) + ├── flags: ∅ ├── locals: [:a, :b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,23)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,22)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) diff --git a/test/prism/snapshots/seattlerb/iter_args_11_1.txt b/test/prism/snapshots/seattlerb/iter_args_11_1.txt index e4d2f79474..6e08e008ed 100644 --- a/test/prism/snapshots/seattlerb/iter_args_11_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_11_1.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,24)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,24)) + ├── flags: ∅ ├── locals: [:a, :b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,22)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,21)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) diff --git a/test/prism/snapshots/seattlerb/iter_args_11_2.txt b/test/prism/snapshots/seattlerb/iter_args_11_2.txt index 07a0e5ed9d..04a15a3310 100644 --- a/test/prism/snapshots/seattlerb/iter_args_11_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_11_2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,28)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,28)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,28)) + ├── flags: ∅ ├── locals: [:a, :b, :c, :d, :e] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,26)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,25)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,12)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,16)-(1,18)) diff --git a/test/prism/snapshots/seattlerb/iter_args_2__19.txt b/test/prism/snapshots/seattlerb/iter_args_2__19.txt index a905286f47..3015ea93c5 100644 --- a/test/prism/snapshots/seattlerb/iter_args_2__19.txt +++ b/test/prism/snapshots/seattlerb/iter_args_2__19.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,13 +16,17 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,14)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_3.txt b/test/prism/snapshots/seattlerb/iter_args_3.txt index 66782f0793..d85fd374aa 100644 --- a/test/prism/snapshots/seattlerb/iter_args_3.txt +++ b/test/prism/snapshots/seattlerb/iter_args_3.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,16 +16,20 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,20)) + ├── flags: ∅ ├── locals: [:a, :b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,18)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 3) │ │ │ ├── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ ├── @ MultiTargetNode (location: (1,8)-(1,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10)) │ │ │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_4.txt b/test/prism/snapshots/seattlerb/iter_args_4.txt index c4f2b47a03..8f5a7043fe 100644 --- a/test/prism/snapshots/seattlerb/iter_args_4.txt +++ b/test/prism/snapshots/seattlerb/iter_args_4.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,16)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,14)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_5.txt b/test/prism/snapshots/seattlerb/iter_args_5.txt index 44940629b4..227703347d 100644 --- a/test/prism/snapshots/seattlerb/iter_args_5.txt +++ b/test/prism/snapshots/seattlerb/iter_args_5.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,13)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_args_6.txt b/test/prism/snapshots/seattlerb/iter_args_6.txt index df3a405dff..40f75f5e83 100644 --- a/test/prism/snapshots/seattlerb/iter_args_6.txt +++ b/test/prism/snapshots/seattlerb/iter_args_6.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,18)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,5)-(1,6)) │ │ │ ├── flags: ∅ @@ -31,7 +36,7 @@ │ │ │ ├── operator_loc: (1,9)-(1,10) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,10)-(1,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: ∅ │ │ ├── posts: (length: 1) diff --git a/test/prism/snapshots/seattlerb/iter_args_7_1.txt b/test/prism/snapshots/seattlerb/iter_args_7_1.txt index 3f65fb8dc0..fd0934b6f2 100644 --- a/test/prism/snapshots/seattlerb/iter_args_7_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_7_1.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,18)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) diff --git a/test/prism/snapshots/seattlerb/iter_args_7_2.txt b/test/prism/snapshots/seattlerb/iter_args_7_2.txt index 112a5a1b6b..7fe4912654 100644 --- a/test/prism/snapshots/seattlerb/iter_args_7_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_7_2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,22)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,22)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,20)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,19)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) diff --git a/test/prism/snapshots/seattlerb/iter_args_8_1.txt b/test/prism/snapshots/seattlerb/iter_args_8_1.txt index 5591fcfc69..89d73272ed 100644 --- a/test/prism/snapshots/seattlerb/iter_args_8_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_8_1.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,21)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,21)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) diff --git a/test/prism/snapshots/seattlerb/iter_args_8_2.txt b/test/prism/snapshots/seattlerb/iter_args_8_2.txt index 8cb061d5a7..5cb728ec55 100644 --- a/test/prism/snapshots/seattlerb/iter_args_8_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_8_2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,25)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,25)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,25)) + ├── flags: ∅ ├── locals: [:a, :b, :c, :d] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,23)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,22)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,13)-(1,15)) diff --git a/test/prism/snapshots/seattlerb/iter_args_9_1.txt b/test/prism/snapshots/seattlerb/iter_args_9_1.txt index 70b2a6cb19..8f47ae6b54 100644 --- a/test/prism/snapshots/seattlerb/iter_args_9_1.txt +++ b/test/prism/snapshots/seattlerb/iter_args_9_1.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,17)) + ├── flags: ∅ ├── locals: [:a, :b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: ∅ │ │ ├── posts: (length: 1) diff --git a/test/prism/snapshots/seattlerb/iter_args_9_2.txt b/test/prism/snapshots/seattlerb/iter_args_9_2.txt index cad8b47e7f..686c249cbf 100644 --- a/test/prism/snapshots/seattlerb/iter_args_9_2.txt +++ b/test/prism/snapshots/seattlerb/iter_args_9_2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,21)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,21)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,21)) + ├── flags: ∅ ├── locals: [:a, :b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,19)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,11)) @@ -28,7 +33,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── rest: ∅ │ │ ├── posts: (length: 1) diff --git a/test/prism/snapshots/seattlerb/iter_kwarg.txt b/test/prism/snapshots/seattlerb/iter_kwarg.txt index 13b9027661..c5d5a74768 100644 --- a/test/prism/snapshots/seattlerb/iter_kwarg.txt +++ b/test/prism/snapshots/seattlerb/iter_kwarg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,12)) + ├── flags: ∅ ├── locals: [:b] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,10)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -30,7 +35,7 @@ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt b/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt index 321e15cb2b..bab054537b 100644 --- a/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt +++ b/test/prism/snapshots/seattlerb/iter_kwarg_kwsplat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,17)) + ├── flags: ∅ ├── locals: [:b, :c] ├── parameters: │ @ BlockParametersNode (location: (1,4)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,5)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -30,7 +35,7 @@ │ │ │ ├── name_loc: (1,5)-(1,7) = "b:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── keyword_rest: │ │ │ @ KeywordRestParameterNode (location: (1,11)-(1,14)) diff --git a/test/prism/snapshots/seattlerb/label_vs_string.txt b/test/prism/snapshots/seattlerb/label_vs_string.txt index c8d7af8f48..1de1fd1ff7 100644 --- a/test/prism/snapshots/seattlerb/label_vs_string.txt +++ b/test/prism/snapshots/seattlerb/label_vs_string.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,1)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,1)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,4)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt b/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt index afc0d3d56f..dc08fa4de3 100644 --- a/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt +++ b/test/prism/snapshots/seattlerb/lambda_do_vs_brace.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(7,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,9)) + ├── flags: ∅ └── body: (length: 4) ├── @ CallNode (location: (1,0)-(1,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -15,6 +17,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LambdaNode (location: (1,2)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── operator_loc: (1,2)-(1,4) = "->" │ │ ├── opening_loc: (1,5)-(1,7) = "do" @@ -24,7 +27,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -35,6 +38,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LambdaNode (location: (3,2)-(3,7)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── operator_loc: (3,2)-(3,4) = "->" │ │ ├── opening_loc: (3,5)-(3,6) = "{" @@ -44,7 +48,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,13)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -55,12 +59,14 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LambdaNode (location: (5,2)-(5,13)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── operator_loc: (5,2)-(5,4) = "->" │ │ ├── opening_loc: (5,7)-(5,9) = "do" │ │ ├── closing_loc: (5,10)-(5,13) = "end" │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (5,4)-(5,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: ∅ │ │ │ ├── locals: (length: 0) │ │ │ ├── opening_loc: (5,4)-(5,5) = "(" @@ -69,7 +75,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (7,0)-(7,9)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -80,12 +86,14 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LambdaNode (location: (7,2)-(7,9)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── operator_loc: (7,2)-(7,4) = "->" │ ├── opening_loc: (7,7)-(7,8) = "{" │ ├── closing_loc: (7,8)-(7,9) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (7,4)-(7,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 0) │ │ ├── opening_loc: (7,4)-(7,5) = "(" diff --git a/test/prism/snapshots/seattlerb/lasgn_arg_rescue_arg.txt b/test/prism/snapshots/seattlerb/lasgn_arg_rescue_arg.txt index 7bbef7055a..30324ac560 100644 --- a/test/prism/snapshots/seattlerb/lasgn_arg_rescue_arg.txt +++ b/test/prism/snapshots/seattlerb/lasgn_arg_rescue_arg.txt @@ -1,21 +1,25 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,14)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ RescueModifierNode (location: (1,4)-(1,14)) + │ ├── flags: ∅ │ ├── expression: │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_loc: (1,6)-(1,12) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,13)-(1,14)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt b/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt index 521fceaf1b..e6fba67dbd 100644 --- a/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt +++ b/test/prism/snapshots/seattlerb/lasgn_call_bracket_rescue_arg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,17)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ RescueModifierNode (location: (1,4)-(1,17)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (1,4)-(1,8)) │ │ ├── flags: ignore_visibility @@ -22,13 +26,13 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: (1,7)-(1,8) = ")" │ │ └── block: ∅ │ ├── keyword_loc: (1,9)-(1,15) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,16)-(1,17)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt b/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt index d730fb51cb..15e77296ce 100644 --- a/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt +++ b/test/prism/snapshots/seattlerb/lasgn_call_nobracket_rescue_arg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,16)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ RescueModifierNode (location: (1,4)-(1,16)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (1,4)-(1,7)) │ │ ├── flags: ignore_visibility @@ -22,13 +26,13 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── keyword_loc: (1,8)-(1,14) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (1,15)-(1,16)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/lasgn_command.txt b/test/prism/snapshots/seattlerb/lasgn_command.txt index d6ed787b26..5aa47305c2 100644 --- a/test/prism/snapshots/seattlerb/lasgn_command.txt +++ b/test/prism/snapshots/seattlerb/lasgn_command.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,9)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" @@ -30,7 +33,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/lasgn_env.txt b/test/prism/snapshots/seattlerb/lasgn_env.txt index a0ada99a9b..1f3a6c80d0 100644 --- a/test/prism/snapshots/seattlerb/lasgn_env.txt +++ b/test/prism/snapshots/seattlerb/lasgn_env.txt @@ -1,14 +1,17 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,6)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ IntegerNode (location: (1,4)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 42 └── operator_loc: (1,2)-(1,3) = "=" diff --git a/test/prism/snapshots/seattlerb/lasgn_ivar_env.txt b/test/prism/snapshots/seattlerb/lasgn_ivar_env.txt index 5675730477..d34b46cba1 100644 --- a/test/prism/snapshots/seattlerb/lasgn_ivar_env.txt +++ b/test/prism/snapshots/seattlerb/lasgn_ivar_env.txt @@ -1,13 +1,16 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ InstanceVariableWriteNode (location: (1,0)-(1,7)) + ├── flags: newline ├── name: :@a ├── name_loc: (1,0)-(1,2) = "@a" ├── value: │ @ IntegerNode (location: (1,5)-(1,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 42 └── operator_loc: (1,3)-(1,4) = "=" diff --git a/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt b/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt index bb4b64e88c..012be1771a 100644 --- a/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt +++ b/test/prism/snapshots/seattlerb/lasgn_lasgn_command_call.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,11)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" ├── value: │ @ LocalVariableWriteNode (location: (1,4)-(1,11)) + │ ├── flags: ∅ │ ├── name: :b │ ├── depth: 0 │ ├── name_loc: (1,4)-(1,5) = "b" @@ -25,7 +29,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt b/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt index c113fef13f..ebd47f54b6 100644 --- a/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt +++ b/test/prism/snapshots/seattlerb/lasgn_middle_splat.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "a" @@ -22,6 +25,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ ├── @ SplatNode (location: (1,7)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (1,7)-(1,8) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (1,8)-(1,9)) diff --git a/test/prism/snapshots/seattlerb/magic_encoding_comment.txt b/test/prism/snapshots/seattlerb/magic_encoding_comment.txt index 9c4ca884d2..9d4cec9231 100644 --- a/test/prism/snapshots/seattlerb/magic_encoding_comment.txt +++ b/test/prism/snapshots/seattlerb/magic_encoding_comment.txt @@ -1,35 +1,44 @@ @ ProgramNode (location: (2,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (2,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ ClassNode (location: (2,0)-(3,3)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (2,0)-(2,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (2,6)-(2,34)) + │ ├── flags: ∅ │ └── name: :ExampleUTF8ClassNameVarietà ├── inheritance_operator_loc: ∅ ├── superclass: ∅ ├── body: │ @ StatementsNode (location: (2,36)-(2,68)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ DefNode (location: (2,36)-(2,68)) + │ ├── flags: newline │ ├── name: :è │ ├── name_loc: (2,45)-(2,47) = "è" │ ├── receiver: │ │ @ SelfNode (location: (2,40)-(2,44)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (2,49)-(2,63)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (2,49)-(2,63)) + │ │ ├── flags: newline │ │ ├── name: :così │ │ ├── depth: 0 │ │ ├── name_loc: (2,49)-(2,54) = "così" │ │ ├── value: │ │ │ @ SymbolNode (location: (2,57)-(2,63)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (2,57)-(2,58) = ":" │ │ │ ├── value_loc: (2,58)-(2,63) = "però" │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt index 9ebcab3095..e0546c4ba3 100644 --- a/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_anon_splat_arg.txt @@ -1,16 +1,21 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,8)) + ├── flags: newline ├── lefts: (length: 0) ├── rest: │ @ SplatNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ ├── operator_loc: (1,0)-(1,1) = "*" │ └── expression: ∅ ├── rights: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,3)-(1,4)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── lparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt b/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt index 83613c42d1..5c22571e91 100644 --- a/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_arg_colon_arg.txt @@ -1,11 +1,15 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,11)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ CallTargetNode (location: (1,3)-(1,7)) diff --git a/test/prism/snapshots/seattlerb/masgn_arg_ident.txt b/test/prism/snapshots/seattlerb/masgn_arg_ident.txt index f4c99648f0..83cd356423 100644 --- a/test/prism/snapshots/seattlerb/masgn_arg_ident.txt +++ b/test/prism/snapshots/seattlerb/masgn_arg_ident.txt @@ -1,11 +1,15 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,10)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ CallTargetNode (location: (1,3)-(1,6)) diff --git a/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt index 48e58de076..c5a3b9433a 100644 --- a/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_arg_splat_arg.txt @@ -1,22 +1,29 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:a, :b, :c] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── lefts: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── rest: │ @ SplatNode (location: (1,3)-(1,5)) + │ ├── flags: ∅ │ ├── operator_loc: (1,3)-(1,4) = "*" │ └── expression: │ @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ ├── flags: ∅ │ ├── name: :b │ └── depth: 0 ├── rights: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,7)-(1,8)) + │ ├── flags: ∅ │ ├── name: :c │ └── depth: 0 ├── lparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_colon2.txt b/test/prism/snapshots/seattlerb/masgn_colon2.txt index a0dfe72ffc..59380bfcd6 100644 --- a/test/prism/snapshots/seattlerb/masgn_colon2.txt +++ b/test/prism/snapshots/seattlerb/masgn_colon2.txt @@ -1,14 +1,19 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,14)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ ConstantPathTargetNode (location: (1,3)-(1,7)) + │ ├── flags: ∅ │ ├── parent: │ │ @ CallNode (location: (1,3)-(1,4)) │ │ ├── flags: variable_call, ignore_visibility @@ -30,13 +35,13 @@ ├── operator_loc: (1,8)-(1,9) = "=" └── value: @ ArrayNode (location: (1,10)-(1,14)) - ├── flags: ∅ + ├── flags: static_literal ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,10)-(1,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ IntegerNode (location: (1,13)-(1,14)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── opening_loc: ∅ └── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_colon3.txt b/test/prism/snapshots/seattlerb/masgn_colon3.txt index f28ed7ecee..e8d0406d20 100644 --- a/test/prism/snapshots/seattlerb/masgn_colon3.txt +++ b/test/prism/snapshots/seattlerb/masgn_colon3.txt @@ -1,16 +1,21 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,15)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ ConstantPathTargetNode (location: (1,0)-(1,3)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :A │ │ ├── delimiter_loc: (1,0)-(1,2) = "::" │ │ └── name_loc: (1,2)-(1,3) = "A" │ └── @ ConstantPathTargetNode (location: (1,5)-(1,8)) + │ ├── flags: ∅ │ ├── parent: ∅ │ ├── name: :B │ ├── delimiter_loc: (1,5)-(1,7) = "::" @@ -22,13 +27,13 @@ ├── operator_loc: (1,9)-(1,10) = "=" └── value: @ ArrayNode (location: (1,11)-(1,15)) - ├── flags: ∅ + ├── flags: static_literal ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,11)-(1,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ IntegerNode (location: (1,14)-(1,15)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── opening_loc: ∅ └── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_command_call.txt b/test/prism/snapshots/seattlerb/masgn_command_call.txt index 687ea38243..60162e0e42 100644 --- a/test/prism/snapshots/seattlerb/masgn_command_call.txt +++ b/test/prism/snapshots/seattlerb/masgn_command_call.txt @@ -1,15 +1,20 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,10)) + ├── flags: newline ├── lefts: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── rest: │ @ ImplicitRestNode (location: (1,1)-(1,2)) + │ └── flags: ∅ ├── rights: (length: 0) ├── lparen_loc: ∅ ├── rparen_loc: ∅ @@ -37,7 +42,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,9)-(1,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_double_paren.txt b/test/prism/snapshots/seattlerb/masgn_double_paren.txt index 590df8fa07..7497801c26 100644 --- a/test/prism/snapshots/seattlerb/masgn_double_paren.txt +++ b/test/prism/snapshots/seattlerb/masgn_double_paren.txt @@ -1,16 +1,22 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,9)) + ├── flags: newline ├── lefts: (length: 1) │ └── @ MultiTargetNode (location: (1,1)-(1,6)) + │ ├── flags: ∅ │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (1,2)-(1,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt b/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt index 771dd7c040..459e13684f 100644 --- a/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt +++ b/test/prism/snapshots/seattlerb/masgn_lhs_splat.txt @@ -1,15 +1,20 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── lefts: (length: 0) ├── rest: │ @ SplatNode (location: (1,0)-(1,2)) + │ ├── flags: ∅ │ ├── operator_loc: (1,0)-(1,1) = "*" │ └── expression: │ @ LocalVariableTargetNode (location: (1,1)-(1,2)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── rights: (length: 0) @@ -18,16 +23,16 @@ ├── operator_loc: (1,3)-(1,4) = "=" └── value: @ ArrayNode (location: (1,5)-(1,12)) - ├── flags: ∅ + ├── flags: static_literal ├── elements: (length: 3) │ ├── @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── @ IntegerNode (location: (1,8)-(1,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── @ IntegerNode (location: (1,11)-(1,12)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 3 ├── opening_loc: ∅ └── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_paren.txt b/test/prism/snapshots/seattlerb/masgn_paren.txt index 5d79774d5e..6418b6e9fc 100644 --- a/test/prism/snapshots/seattlerb/masgn_paren.txt +++ b/test/prism/snapshots/seattlerb/masgn_paren.txt @@ -1,14 +1,19 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (1,1)-(1,2)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ ├── flags: ∅ │ ├── name: :b │ └── depth: 0 ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_splat_arg.txt b/test/prism/snapshots/seattlerb/masgn_splat_arg.txt index b8113b126f..0a80c9bbfd 100644 --- a/test/prism/snapshots/seattlerb/masgn_splat_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_splat_arg.txt @@ -1,19 +1,25 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,9)) + ├── flags: newline ├── lefts: (length: 0) ├── rest: │ @ SplatNode (location: (1,0)-(1,2)) + │ ├── flags: ∅ │ ├── operator_loc: (1,0)-(1,1) = "*" │ └── expression: │ @ LocalVariableTargetNode (location: (1,1)-(1,2)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── rights: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ ├── flags: ∅ │ ├── name: :b │ └── depth: 0 ├── lparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt b/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt index a832aef1e0..1bd31b5ffc 100644 --- a/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt +++ b/test/prism/snapshots/seattlerb/masgn_splat_arg_arg.txt @@ -1,22 +1,29 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:a, :b, :c] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── lefts: (length: 0) ├── rest: │ @ SplatNode (location: (1,0)-(1,2)) + │ ├── flags: ∅ │ ├── operator_loc: (1,0)-(1,1) = "*" │ └── expression: │ @ LocalVariableTargetNode (location: (1,1)-(1,2)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── rights: (length: 2) │ ├── @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,7)-(1,8)) + │ ├── flags: ∅ │ ├── name: :c │ └── depth: 0 ├── lparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/masgn_star.txt b/test/prism/snapshots/seattlerb/masgn_star.txt index 3e01eef8a7..97fdbe0b0f 100644 --- a/test/prism/snapshots/seattlerb/masgn_star.txt +++ b/test/prism/snapshots/seattlerb/masgn_star.txt @@ -1,12 +1,16 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,5)) + ├── flags: newline ├── lefts: (length: 0) ├── rest: │ @ SplatNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ ├── operator_loc: (1,0)-(1,1) = "*" │ └── expression: ∅ ├── rights: (length: 0) @@ -15,5 +19,5 @@ ├── operator_loc: (1,2)-(1,3) = "=" └── value: @ IntegerNode (location: (1,4)-(1,5)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/masgn_var_star_var.txt b/test/prism/snapshots/seattlerb/masgn_var_star_var.txt index 37851efd6f..6c92113ff6 100644 --- a/test/prism/snapshots/seattlerb/masgn_var_star_var.txt +++ b/test/prism/snapshots/seattlerb/masgn_var_star_var.txt @@ -1,19 +1,25 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,11)) + ├── flags: newline ├── lefts: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── rest: │ @ SplatNode (location: (1,3)-(1,4)) + │ ├── flags: ∅ │ ├── operator_loc: (1,3)-(1,4) = "*" │ └── expression: ∅ ├── rights: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── name: :b │ └── depth: 0 ├── lparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt b/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt index edef23044a..b11d08a747 100644 --- a/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt +++ b/test/prism/snapshots/seattlerb/messy_op_asgn_lineno.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -15,14 +17,19 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,2)-(1,15)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,3)-(1,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ConstantPathOperatorWriteNode (location: (1,3)-(1,14)) + │ │ ├── flags: newline │ │ ├── target: │ │ │ @ ConstantPathNode (location: (1,3)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantReadNode (location: (1,3)-(1,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :B │ │ │ ├── name: :C │ │ │ ├── delimiter_loc: (1,4)-(1,6) = "::" diff --git a/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt b/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt index 1bb8bd0bc1..62a45c5d8b 100644 --- a/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/method_call_assoc_trailing_comma.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -28,13 +30,14 @@ │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,4)-(1,8)) + │ ├── flags: static_literal │ ├── key: │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── value: │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (1,5)-(1,7) = "=>" ├── closing_loc: (1,9)-(1,10) = ")" diff --git a/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt b/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt index edf79062cf..6a3573ddfc 100644 --- a/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/method_call_trailing_comma.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,7 +27,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (1,6)-(1,7) = ")" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt index 600f7f717b..0cfc1b3c60 100644 --- a/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_back_anonsplat.txt @@ -1,21 +1,28 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [:a, :b, :c] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,14)) + ├── flags: newline ├── lefts: (length: 3) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── name: :c │ └── depth: 0 ├── rest: │ @ SplatNode (location: (1,9)-(1,10)) + │ ├── flags: ∅ │ ├── operator_loc: (1,9)-(1,10) = "*" │ └── expression: ∅ ├── rights: (length: 0) diff --git a/test/prism/snapshots/seattlerb/mlhs_back_splat.txt b/test/prism/snapshots/seattlerb/mlhs_back_splat.txt index f5d3fe5ae9..1d9aab3830 100644 --- a/test/prism/snapshots/seattlerb/mlhs_back_splat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_back_splat.txt @@ -1,24 +1,32 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [:a, :b, :c, :s] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,15)) + ├── flags: newline ├── lefts: (length: 3) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── name: :c │ └── depth: 0 ├── rest: │ @ SplatNode (location: (1,9)-(1,11)) + │ ├── flags: ∅ │ ├── operator_loc: (1,9)-(1,10) = "*" │ └── expression: │ @ LocalVariableTargetNode (location: (1,10)-(1,11)) + │ ├── flags: ∅ │ ├── name: :s │ └── depth: 0 ├── rights: (length: 0) diff --git a/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt index d4797031a5..d98d4dedd3 100644 --- a/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_front_anonsplat.txt @@ -1,22 +1,29 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [:x, :y, :z] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,14)) + ├── flags: newline ├── lefts: (length: 0) ├── rest: │ @ SplatNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ ├── operator_loc: (1,0)-(1,1) = "*" │ └── expression: ∅ ├── rights: (length: 3) │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── @ LocalVariableTargetNode (location: (1,6)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── name: :y │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,9)-(1,10)) + │ ├── flags: ∅ │ ├── name: :z │ └── depth: 0 ├── lparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_front_splat.txt b/test/prism/snapshots/seattlerb/mlhs_front_splat.txt index 47a7b8da7c..85016f0ca8 100644 --- a/test/prism/snapshots/seattlerb/mlhs_front_splat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_front_splat.txt @@ -1,25 +1,33 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [:s, :x, :y, :z] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,15)) + ├── flags: newline ├── lefts: (length: 0) ├── rest: │ @ SplatNode (location: (1,0)-(1,2)) + │ ├── flags: ∅ │ ├── operator_loc: (1,0)-(1,1) = "*" │ └── expression: │ @ LocalVariableTargetNode (location: (1,1)-(1,2)) + │ ├── flags: ∅ │ ├── name: :s │ └── depth: 0 ├── rights: (length: 3) │ ├── @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── @ LocalVariableTargetNode (location: (1,7)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── name: :y │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,10)-(1,11)) + │ ├── flags: ∅ │ ├── name: :z │ └── depth: 0 ├── lparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_keyword.txt b/test/prism/snapshots/seattlerb/mlhs_keyword.txt index 6142640b2c..22a0391e4a 100644 --- a/test/prism/snapshots/seattlerb/mlhs_keyword.txt +++ b/test/prism/snapshots/seattlerb/mlhs_keyword.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,6 +27,8 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ TrueNode (location: (1,5)-(1,9)) + │ │ └── flags: static_literal │ └── @ TrueNode (location: (1,11)-(1,15)) + │ └── flags: static_literal ├── closing_loc: (1,15)-(1,16) = ")" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt b/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt index b6306e1674..7a0894db30 100644 --- a/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_mid_anonsplat.txt @@ -1,31 +1,41 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [:a, :b, :c, :x, :y, :z] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,23)) + ├── flags: newline ├── lefts: (length: 3) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── name: :c │ └── depth: 0 ├── rest: │ @ SplatNode (location: (1,9)-(1,10)) + │ ├── flags: ∅ │ ├── operator_loc: (1,9)-(1,10) = "*" │ └── expression: ∅ ├── rights: (length: 3) │ ├── @ LocalVariableTargetNode (location: (1,12)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── @ LocalVariableTargetNode (location: (1,15)-(1,16)) + │ │ ├── flags: ∅ │ │ ├── name: :y │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,18)-(1,19)) + │ ├── flags: ∅ │ ├── name: :z │ └── depth: 0 ├── lparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt b/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt index 1dae24d911..d7671b6fe6 100644 --- a/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt +++ b/test/prism/snapshots/seattlerb/mlhs_mid_splat.txt @@ -1,34 +1,45 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [:a, :b, :c, :s, :x, :y, :z] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,24)) + ├── flags: newline ├── lefts: (length: 3) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── @ LocalVariableTargetNode (location: (1,3)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── name: :c │ └── depth: 0 ├── rest: │ @ SplatNode (location: (1,9)-(1,11)) + │ ├── flags: ∅ │ ├── operator_loc: (1,9)-(1,10) = "*" │ └── expression: │ @ LocalVariableTargetNode (location: (1,10)-(1,11)) + │ ├── flags: ∅ │ ├── name: :s │ └── depth: 0 ├── rights: (length: 3) │ ├── @ LocalVariableTargetNode (location: (1,13)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── @ LocalVariableTargetNode (location: (1,16)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── name: :y │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,19)-(1,20)) + │ ├── flags: ∅ │ ├── name: :z │ └── depth: 0 ├── lparen_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/mlhs_rescue.txt b/test/prism/snapshots/seattlerb/mlhs_rescue.txt index bd983cd3f9..d888306a9a 100644 --- a/test/prism/snapshots/seattlerb/mlhs_rescue.txt +++ b/test/prism/snapshots/seattlerb/mlhs_rescue.txt @@ -1,14 +1,19 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,18)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,3)-(1,4)) + │ ├── flags: ∅ │ ├── name: :b │ └── depth: 0 ├── rest: ∅ @@ -18,6 +23,7 @@ ├── operator_loc: (1,5)-(1,6) = "=" └── value: @ RescueModifierNode (location: (1,7)-(1,18)) + ├── flags: ∅ ├── expression: │ @ CallNode (location: (1,7)-(1,8)) │ ├── flags: variable_call, ignore_visibility @@ -32,5 +38,5 @@ ├── keyword_loc: (1,9)-(1,15) = "rescue" └── rescue_expression: @ IntegerNode (location: (1,16)-(1,18)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 42 diff --git a/test/prism/snapshots/seattlerb/module_comments.txt b/test/prism/snapshots/seattlerb/module_comments.txt index 2785187a29..ecbef982dd 100644 --- a/test/prism/snapshots/seattlerb/module_comments.txt +++ b/test/prism/snapshots/seattlerb/module_comments.txt @@ -1,18 +1,24 @@ @ ProgramNode (location: (5,0)-(10,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (5,0)-(10,3)) + ├── flags: ∅ └── body: (length: 1) └── @ ModuleNode (location: (5,0)-(10,3)) + ├── flags: newline ├── locals: [] ├── module_keyword_loc: (5,0)-(5,6) = "module" ├── constant_path: │ @ ConstantReadNode (location: (5,7)-(5,8)) + │ ├── flags: ∅ │ └── name: :X ├── body: │ @ StatementsNode (location: (7,2)-(9,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ DefNode (location: (7,2)-(9,5)) + │ ├── flags: newline │ ├── name: :blah │ ├── name_loc: (7,6)-(7,10) = "blah" │ ├── receiver: ∅ diff --git a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt index ff28a1798b..7760698d13 100644 --- a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt +++ b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(8,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(8,12)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(3,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -18,15 +20,17 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,2)-(3,1)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (1,2)-(1,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,2)-(1,7) = "state" │ │ │ ├── closing_loc: (1,7)-(1,8) = ":" │ │ │ └── unescaped: "state" │ │ ├── value: │ │ │ @ HashNode (location: (2,1)-(3,1)) + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (2,1)-(2,2) = "{" │ │ │ ├── elements: (length: 0) │ │ │ └── closing_loc: (3,0)-(3,1) = "}" @@ -34,7 +38,7 @@ │ ├── closing_loc: (3,1)-(3,2) = ")" │ └── block: ∅ ├── @ CallNode (location: (5,0)-(6,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -48,15 +52,17 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (5,2)-(6,1)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (5,2)-(5,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (5,2)-(5,7) = "state" │ │ │ ├── closing_loc: (5,7)-(5,8) = ":" │ │ │ └── unescaped: "state" │ │ ├── value: │ │ │ @ HashNode (location: (5,9)-(6,1)) + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (5,9)-(5,10) = "{" │ │ │ ├── elements: (length: 0) │ │ │ └── closing_loc: (6,0)-(6,1) = "}" @@ -64,7 +70,7 @@ │ ├── closing_loc: (6,1)-(6,2) = ")" │ └── block: ∅ └── @ CallNode (location: (8,0)-(8,12)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -78,15 +84,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (8,2)-(8,11)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (8,2)-(8,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (8,2)-(8,7) = "state" │ │ ├── closing_loc: (8,7)-(8,8) = ":" │ │ └── unescaped: "state" │ ├── value: │ │ @ HashNode (location: (8,9)-(8,11)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (8,9)-(8,10) = "{" │ │ ├── elements: (length: 0) │ │ └── closing_loc: (8,10)-(8,11) = "}" diff --git a/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt b/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt index cbf4ec4a08..eab6e8755f 100644 --- a/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/non_interpolated_symbol_array_line_breaks.txt @@ -1,19 +1,21 @@ @ ProgramNode (location: (1,0)-(5,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(4,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (2,0)-(2,1)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (2,0)-(2,1) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (3,0)-(3,1)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (3,0)-(3,1) = "b" │ │ ├── closing_loc: ∅ @@ -21,5 +23,5 @@ │ ├── opening_loc: (1,0)-(1,3) = "%i(" │ └── closing_loc: (4,0)-(4,1) = ")" └── @ IntegerNode (location: (5,0)-(5,1)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt b/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt index e82f250098..00f5e9b616 100644 --- a/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt +++ b/test/prism/snapshots/seattlerb/non_interpolated_word_array_line_breaks.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(4,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (2,0)-(2,1)) │ │ │ ├── flags: ∅ @@ -21,5 +23,5 @@ │ ├── opening_loc: (1,0)-(1,3) = "%w(" │ └── closing_loc: (4,0)-(4,1) = ")" └── @ IntegerNode (location: (5,0)-(5,1)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/op_asgn_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_command_call.txt index 54aa06214f..810c203054 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_command_call.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableOrWriteNode (location: (1,0)-(1,11)) + ├── flags: newline ├── name_loc: (1,0)-(1,1) = "a" ├── operator_loc: (1,2)-(1,5) = "||=" ├── value: @@ -29,7 +32,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt index 324c042b00..6f6fbb6dd9 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_dot_ident_command_call.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallOrWriteNode (location: (1,0)-(1,11)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ └── name: :A ├── call_operator_loc: (1,1)-(1,2) = "." ├── message_loc: (1,2)-(1,3) = "B" @@ -26,7 +29,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt index ddee4cde49..ccf77c4823 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_index_command_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ IndexOrWriteNode (location: (1,0)-(1,16)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -23,7 +25,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ SymbolNode (location: (1,2)-(1,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,2)-(1,3) = ":" │ ├── value_loc: (1,3)-(1,4) = "b" │ ├── closing_loc: ∅ @@ -44,10 +46,10 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (1,12)-(1,13)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ IntegerNode (location: (1,15)-(1,16)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt index 523ccde455..a86a9269e1 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_const_command_call.txt @@ -1,13 +1,18 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathOperatorWriteNode (location: (1,0)-(1,11)) + ├── flags: newline ├── target: │ @ ConstantPathNode (location: (1,0)-(1,4)) + │ ├── flags: ∅ │ ├── parent: │ │ @ ConstantReadNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── name: :B │ ├── delimiter_loc: (1,1)-(1,3) = "::" diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt index b9d00edc30..2aa30b7b6f 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier1.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallOperatorWriteNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ └── name: :A ├── call_operator_loc: (1,1)-(1,3) = "::" ├── message_loc: (1,3)-(1,4) = "b" @@ -16,5 +19,5 @@ ├── binary_operator_loc: (1,5)-(1,7) = "+=" └── value: @ IntegerNode (location: (1,8)-(1,9)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt index c12ea3983c..ad52f68c10 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_primary_colon_identifier_command_call.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallOperatorWriteNode (location: (1,0)-(1,11)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ ConstantReadNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ └── name: :A ├── call_operator_loc: (1,1)-(1,3) = "::" ├── message_loc: (1,3)-(1,4) = "b" diff --git a/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt b/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt index b3b5709193..881bd60e63 100644 --- a/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt +++ b/test/prism/snapshots/seattlerb/op_asgn_val_dot_ident_command_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallOrWriteNode (location: (1,0)-(1,11)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -34,7 +36,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_def_special_name.txt b/test/prism/snapshots/seattlerb/parse_def_special_name.txt index dfbfe8a391..d8d849a3eb 100644 --- a/test/prism/snapshots/seattlerb/parse_def_special_name.txt +++ b/test/prism/snapshots/seattlerb/parse_def_special_name.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,13)) + ├── flags: newline ├── name: :next ├── name_loc: (1,4)-(1,8) = "next" ├── receiver: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt index 763bd24efd..bc07821090 100644 --- a/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt +++ b/test/prism/snapshots/seattlerb/parse_if_not_canonical.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(2,3)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,15)) @@ -39,21 +42,24 @@ ├── then_keyword_loc: (1,16)-(1,20) = "then" ├── statements: │ @ StatementsNode (location: (1,21)-(1,26)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ StringNode (location: (1,21)-(1,26)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,21)-(1,22) = "'" │ ├── content_loc: (1,22)-(1,25) = "foo" │ ├── closing_loc: (1,25)-(1,26) = "'" │ └── unescaped: "foo" ├── consequent: │ @ ElseNode (location: (1,27)-(2,3)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,27)-(1,31) = "else" │ ├── statements: │ │ @ StatementsNode (location: (1,32)-(1,37)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ StringNode (location: (1,32)-(1,37)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (1,32)-(1,33) = "'" │ │ ├── content_loc: (1,33)-(1,36) = "bar" │ │ ├── closing_loc: (1,36)-(1,37) = "'" diff --git a/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt index 763bd24efd..bc07821090 100644 --- a/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt +++ b/test/prism/snapshots/seattlerb/parse_if_not_noncanonical.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(2,3)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,15)) @@ -39,21 +42,24 @@ ├── then_keyword_loc: (1,16)-(1,20) = "then" ├── statements: │ @ StatementsNode (location: (1,21)-(1,26)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ StringNode (location: (1,21)-(1,26)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,21)-(1,22) = "'" │ ├── content_loc: (1,22)-(1,25) = "foo" │ ├── closing_loc: (1,25)-(1,26) = "'" │ └── unescaped: "foo" ├── consequent: │ @ ElseNode (location: (1,27)-(2,3)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,27)-(1,31) = "else" │ ├── statements: │ │ @ StatementsNode (location: (1,32)-(1,37)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ StringNode (location: (1,32)-(1,37)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (1,32)-(1,33) = "'" │ │ ├── content_loc: (1,33)-(1,36) = "bar" │ │ ├── closing_loc: (1,36)-(1,37) = "'" diff --git a/test/prism/snapshots/seattlerb/parse_line_block.txt b/test/prism/snapshots/seattlerb/parse_line_block.txt index 623c08d50e..fcb4aee490 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block.txt @@ -1,19 +1,22 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ LocalVariableWriteNode (location: (1,0)-(1,6)) + │ ├── flags: newline │ ├── name: :a │ ├── depth: 0 │ ├── name_loc: (1,0)-(1,1) = "a" │ ├── value: │ │ @ IntegerNode (location: (1,4)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ └── operator_loc: (1,2)-(1,3) = "=" └── @ CallNode (location: (2,0)-(2,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -24,6 +27,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LocalVariableReadNode (location: (2,2)-(2,3)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt index 8495527cf4..2cf5d6de00 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,1)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -14,7 +16,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (2,0)-(2,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -24,7 +26,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,1)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt index f531a73a58..f376453c0d 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_comment_leading_newlines.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (4,0)-(7,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (4,0)-(7,1)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (4,0)-(4,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -14,7 +16,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -24,7 +26,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (7,0)-(7,1)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt b/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt index d4e962b355..21b6623652 100644 --- a/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt +++ b/test/prism/snapshots/seattlerb/parse_line_block_inline_multiline_comment.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,1)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -14,7 +16,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (2,0)-(2,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -24,7 +26,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (4,0)-(4,1)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt b/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt index a08f5419f1..9ed31de459 100644 --- a/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt +++ b/test/prism/snapshots/seattlerb/parse_line_call_ivar_arg_no_parens_line_break.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -15,6 +17,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4)) + │ ├── flags: ∅ │ └── name: :@b ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt b/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt index dd58d92d3a..32dbc0f02a 100644 --- a/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt +++ b/test/prism/snapshots/seattlerb/parse_line_call_ivar_line_break_paren.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,1)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,1)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -15,6 +17,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4)) + │ ├── flags: ∅ │ └── name: :@b ├── closing_loc: (2,0)-(2,1) = ")" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt b/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt index 8a0fcd63af..03b657d687 100644 --- a/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt +++ b/test/prism/snapshots/seattlerb/parse_line_call_no_args.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -14,11 +16,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(3,3)) + ├── flags: ∅ ├── locals: [:x, :y] ├── parameters: │ @ BlockParametersNode (location: (1,5)-(1,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,6)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ │ │ ├── flags: ∅ @@ -37,11 +42,13 @@ │ └── closing_loc: (1,10)-(1,11) = "|" ├── body: │ @ StatementsNode (location: (2,2)-(2,7)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,2)-(2,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (2,2)-(2,3)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -53,6 +60,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7)) + │ │ ├── flags: ∅ │ │ ├── name: :y │ │ └── depth: 0 │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt index 84eef70b25..2a91fc6bba 100644 --- a/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt +++ b/test/prism/snapshots/seattlerb/parse_line_defn_complex.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(5,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(5,3)) + ├── flags: newline ├── name: :x ├── name_loc: (1,4)-(1,5) = "x" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ ├── flags: ∅ @@ -21,9 +25,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (2,2)-(4,10)) + │ ├── flags: ∅ │ └── body: (length: 3) │ ├── @ CallNode (location: (2,2)-(2,6)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -34,28 +39,31 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (2,4)-(2,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :y │ │ │ └── depth: 0 │ │ ├── closing_loc: (2,5)-(2,6) = ")" │ │ └── block: ∅ │ ├── @ LocalVariableOperatorWriteNode (location: (3,2)-(3,8)) + │ │ ├── flags: newline │ │ ├── name_loc: (3,2)-(3,3) = "y" │ │ ├── binary_operator_loc: (3,4)-(3,6) = "*=" │ │ ├── value: │ │ │ @ IntegerNode (location: (3,7)-(3,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── name: :y │ │ ├── binary_operator: :* │ │ └── depth: 0 │ └── @ ReturnNode (location: (4,2)-(4,10)) - │ ├── flags: redundant + │ ├── flags: newline, redundant │ ├── keyword_loc: (4,2)-(4,8) = "return" │ └── arguments: │ @ ArgumentsNode (location: (4,9)-(4,10)) │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LocalVariableReadNode (location: (4,9)-(4,10)) + │ ├── flags: ∅ │ ├── name: :y │ └── depth: 0 ├── locals: [:y] diff --git a/test/prism/snapshots/seattlerb/parse_line_defn_no_parens.txt b/test/prism/snapshots/seattlerb/parse_line_defn_no_parens.txt index 74240322ac..aafcbb74b6 100644 --- a/test/prism/snapshots/seattlerb/parse_line_defn_no_parens.txt +++ b/test/prism/snapshots/seattlerb/parse_line_defn_no_parens.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(6,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(6,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ DefNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (1,4)-(1,5) = "f" │ ├── receiver: ∅ @@ -17,6 +20,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" └── @ DefNode (location: (5,0)-(6,3)) + ├── flags: newline ├── name: :f ├── name_loc: (5,4)-(5,5) = "f" ├── receiver: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_defn_no_parens_args.txt b/test/prism/snapshots/seattlerb/parse_line_defn_no_parens_args.txt index 8445743293..0670c2c046 100644 --- a/test/prism/snapshots/seattlerb/parse_line_defn_no_parens_args.txt +++ b/test/prism/snapshots/seattlerb/parse_line_defn_no_parens_args.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(2,3)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,6)-(1,7)) │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_dot2.txt b/test/prism/snapshots/seattlerb/parse_line_dot2.txt index 9ccf5bdc99..29f6e68a18 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot2.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot2.txt @@ -1,21 +1,23 @@ @ ProgramNode (location: (1,0)-(5,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,1)) + ├── flags: ∅ └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(2,1)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── left: │ │ @ IntegerNode (location: (1,0)-(1,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ ├── right: │ │ @ IntegerNode (location: (2,0)-(2,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 4 │ └── operator_loc: (1,1)-(1,3) = ".." ├── @ RangeNode (location: (3,0)-(4,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (3,0)-(3,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -40,7 +42,7 @@ │ │ └── block: ∅ │ └── operator_loc: (3,1)-(3,3) = ".." └── @ CallNode (location: (5,0)-(5,1)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt b/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt index f85fdd6d4b..d368ac7654 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot2_open.txt @@ -1,18 +1,20 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(1,3)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── left: │ │ @ IntegerNode (location: (1,0)-(1,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ ├── right: ∅ │ └── operator_loc: (1,1)-(1,3) = ".." ├── @ RangeNode (location: (2,2)-(2,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (2,2)-(2,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -27,7 +29,7 @@ │ ├── right: ∅ │ └── operator_loc: (2,3)-(2,5) = ".." └── @ CallNode (location: (3,2)-(3,3)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/parse_line_dot3.txt b/test/prism/snapshots/seattlerb/parse_line_dot3.txt index 6364c1f136..7515617cea 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot3.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot3.txt @@ -1,21 +1,23 @@ @ ProgramNode (location: (1,0)-(5,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,1)) + ├── flags: ∅ └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(2,1)) - │ ├── flags: exclude_end + │ ├── flags: newline, static_literal, exclude_end │ ├── left: │ │ @ IntegerNode (location: (1,0)-(1,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ ├── right: │ │ @ IntegerNode (location: (2,0)-(2,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 4 │ └── operator_loc: (1,1)-(1,4) = "..." ├── @ RangeNode (location: (3,0)-(4,1)) - │ ├── flags: exclude_end + │ ├── flags: newline, exclude_end │ ├── left: │ │ @ CallNode (location: (3,0)-(3,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -40,7 +42,7 @@ │ │ └── block: ∅ │ └── operator_loc: (3,1)-(3,4) = "..." └── @ CallNode (location: (5,0)-(5,1)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt b/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt index 35759d12e3..789b490a28 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dot3_open.txt @@ -1,18 +1,20 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 3) ├── @ RangeNode (location: (1,0)-(1,4)) - │ ├── flags: exclude_end + │ ├── flags: newline, static_literal, exclude_end │ ├── left: │ │ @ IntegerNode (location: (1,0)-(1,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ ├── right: ∅ │ └── operator_loc: (1,1)-(1,4) = "..." ├── @ RangeNode (location: (2,2)-(2,6)) - │ ├── flags: exclude_end + │ ├── flags: newline, exclude_end │ ├── left: │ │ @ CallNode (location: (2,2)-(2,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -27,7 +29,7 @@ │ ├── right: ∅ │ └── operator_loc: (2,3)-(2,6) = "..." └── @ CallNode (location: (3,2)-(3,3)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/parse_line_dstr_escaped_newline.txt b/test/prism/snapshots/seattlerb/parse_line_dstr_escaped_newline.txt index aada5a9477..e801ad402a 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dstr_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dstr_escaped_newline.txt @@ -1,21 +1,25 @@ @ ProgramNode (location: (1,0)-(3,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ InterpolatedStringNode (location: (1,0)-(2,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (1,1)-(1,4)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (1,1)-(1,4) = "a\\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── @ EmbeddedStatementsNode (location: (1,4)-(2,1)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,4)-(1,6) = "\#{" │ │ ├── statements: ∅ │ │ └── closing_loc: (2,0)-(2,1) = "}" │ └── closing_loc: (2,1)-(2,2) = "\"" └── @ TrueNode (location: (3,0)-(3,4)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/seattlerb/parse_line_dstr_soft_newline.txt b/test/prism/snapshots/seattlerb/parse_line_dstr_soft_newline.txt index 7ef56acb76..c94a12db81 100644 --- a/test/prism/snapshots/seattlerb/parse_line_dstr_soft_newline.txt +++ b/test/prism/snapshots/seattlerb/parse_line_dstr_soft_newline.txt @@ -1,21 +1,25 @@ @ ProgramNode (location: (1,0)-(4,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ InterpolatedStringNode (location: (1,0)-(3,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (1,1)-(2,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (1,1)-(2,0) = "a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── @ EmbeddedStatementsNode (location: (2,0)-(3,1)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (2,0)-(2,2) = "\#{" │ │ ├── statements: ∅ │ │ └── closing_loc: (3,0)-(3,1) = "}" │ └── closing_loc: (3,1)-(3,2) = "\"" └── @ TrueNode (location: (4,0)-(4,4)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt b/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt index 82f461e340..446534f7ca 100644 --- a/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt +++ b/test/prism/snapshots/seattlerb/parse_line_evstr_after_break.txt @@ -1,14 +1,16 @@ @ ProgramNode (location: (1,0)-(2,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,6)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(2,6)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: ∅ ├── parts: (length: 2) │ ├── @ StringNode (location: (1,0)-(1,3)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (1,0)-(1,1) = "\"" │ │ ├── content_loc: (1,1)-(1,2) = "a" │ │ ├── closing_loc: (1,2)-(1,3) = "\"" @@ -18,9 +20,11 @@ │ ├── opening_loc: (2,0)-(2,1) = "\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (2,1)-(2,5)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (2,1)-(2,3) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (2,3)-(2,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,3)-(2,4)) │ │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/parse_line_hash_lit.txt b/test/prism/snapshots/seattlerb/parse_line_hash_lit.txt index 0f95a607aa..5a8221b04a 100644 --- a/test/prism/snapshots/seattlerb/parse_line_hash_lit.txt +++ b/test/prism/snapshots/seattlerb/parse_line_hash_lit.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(3,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,1)) + ├── flags: ∅ └── body: (length: 1) └── @ HashNode (location: (1,0)-(3,1)) + ├── flags: newline, static_literal ├── opening_loc: (1,0)-(1,1) = "{" ├── elements: (length: 1) │ └── @ AssocNode (location: (2,0)-(2,8)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (2,0)-(2,3)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (2,0)-(2,1) = ":" │ │ ├── value_loc: (2,1)-(2,3) = "s1" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "s1" │ ├── value: │ │ @ IntegerNode (location: (2,7)-(2,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (2,4)-(2,6) = "=>" └── closing_loc: (3,0)-(3,1) = "}" diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc.txt index ba00f01504..e2c8e8a159 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,6)-(4,17)) +├── flags: ∅ ├── locals: [:string] └── statements: @ StatementsNode (location: (1,6)-(4,17)) + ├── flags: ∅ └── body: (length: 2) ├── @ LocalVariableWriteNode (location: (1,6)-(1,31)) + │ ├── flags: newline │ ├── name: :string │ ├── depth: 0 │ ├── name_loc: (1,6)-(1,12) = "string" @@ -26,7 +29,7 @@ │ │ └── block: ∅ │ └── operator_loc: (1,13)-(1,14) = "=" └── @ CallNode (location: (4,6)-(4,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :puts @@ -37,6 +40,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LocalVariableReadNode (location: (4,11)-(4,17)) + │ ├── flags: ∅ │ ├── name: :string │ └── depth: 0 ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt index b251b2b344..68b3300430 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc_evstr.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,4) = "<<-A" ├── parts: (length: 3) │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (2,0)-(3,0) = "a\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\n" │ ├── @ EmbeddedStatementsNode (location: (3,0)-(3,4)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (3,0)-(3,2) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,2)-(3,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,2)-(3,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -30,7 +34,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (3,3)-(3,4) = "}" │ └── @ StringNode (location: (3,4)-(4,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (3,4)-(4,0) = "\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt index ad0f0dfd99..d5b59ab1de 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc_hardnewline.txt @@ -1,19 +1,23 @@ @ ProgramNode (location: (1,0)-(6,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(6,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ StringNode (location: (1,0)-(1,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,8) = "<<-EOFOO" │ ├── content_loc: (2,0)-(3,0) = "\\n\\n\\n\\n\\n\\n\\n\\n\\n\n" │ ├── closing_loc: (3,0)-(4,0) = "EOFOO\n" │ └── unescaped: "\n\n\n\n\n\n\n\n\n\n" └── @ ClassNode (location: (5,0)-(6,3)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (5,0)-(5,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (5,6)-(5,9)) + │ ├── flags: ∅ │ └── name: :Foo ├── inheritance_operator_loc: ∅ ├── superclass: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt b/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt index fdac30fab7..a188a8ff41 100644 --- a/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt +++ b/test/prism/snapshots/seattlerb/parse_line_heredoc_regexp_chars.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,6)-(4,17)) +├── flags: ∅ ├── locals: [:string] └── statements: @ StatementsNode (location: (1,6)-(4,17)) + ├── flags: ∅ └── body: (length: 2) ├── @ LocalVariableWriteNode (location: (1,6)-(1,22)) + │ ├── flags: newline │ ├── name: :string │ ├── depth: 0 │ ├── name_loc: (1,6)-(1,12) = "string" @@ -16,7 +19,7 @@ │ │ └── unescaped: " very long string\n" │ └── operator_loc: (1,13)-(1,14) = "=" └── @ CallNode (location: (4,6)-(4,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :puts @@ -27,6 +30,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LocalVariableReadNode (location: (4,11)-(4,17)) + │ ├── flags: ∅ │ ├── name: :string │ └── depth: 0 ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt b/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt index 8d9dbf24ab..d9ec88b3bb 100644 --- a/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt +++ b/test/prism/snapshots/seattlerb/parse_line_iter_call_no_parens.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -27,11 +29,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,4)-(3,3)) + ├── flags: ∅ ├── locals: [:x, :y] ├── parameters: │ @ BlockParametersNode (location: (1,7)-(1,13)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,8)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9)) │ │ │ │ ├── flags: ∅ @@ -50,11 +55,13 @@ │ └── closing_loc: (1,12)-(1,13) = "|" ├── body: │ @ StatementsNode (location: (2,2)-(2,7)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,2)-(2,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (2,2)-(2,3)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -66,6 +73,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7)) + │ │ ├── flags: ∅ │ │ ├── name: :y │ │ └── depth: 0 │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt b/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt index 663d870137..27ea8d2e3e 100644 --- a/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt +++ b/test/prism/snapshots/seattlerb/parse_line_iter_call_parens.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -27,11 +29,14 @@ ├── closing_loc: (1,3)-(1,4) = ")" └── block: @ BlockNode (location: (1,5)-(3,3)) + ├── flags: ∅ ├── locals: [:x, :y] ├── parameters: │ @ BlockParametersNode (location: (1,8)-(1,14)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,9)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,9)-(1,10)) │ │ │ │ ├── flags: ∅ @@ -50,11 +55,13 @@ │ └── closing_loc: (1,13)-(1,14) = "|" ├── body: │ @ StatementsNode (location: (2,2)-(2,7)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,2)-(2,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (2,2)-(2,3)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -66,6 +73,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (2,6)-(2,7)) + │ │ ├── flags: ∅ │ │ ├── name: :y │ │ └── depth: 0 │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_multiline_str.txt b/test/prism/snapshots/seattlerb/parse_line_multiline_str.txt index 8d4578eaec..7c2ea01d3c 100644 --- a/test/prism/snapshots/seattlerb/parse_line_multiline_str.txt +++ b/test/prism/snapshots/seattlerb/parse_line_multiline_str.txt @@ -1,14 +1,16 @@ @ ProgramNode (location: (1,0)-(3,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ StringNode (location: (1,0)-(2,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── content_loc: (1,1)-(2,1) = "a\nb" │ ├── closing_loc: (2,1)-(2,2) = "\"" │ └── unescaped: "a\nb" └── @ IntegerNode (location: (3,0)-(3,1)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/parse_line_multiline_str_literal_n.txt b/test/prism/snapshots/seattlerb/parse_line_multiline_str_literal_n.txt index 49d31f5b1b..b8c6e026cd 100644 --- a/test/prism/snapshots/seattlerb/parse_line_multiline_str_literal_n.txt +++ b/test/prism/snapshots/seattlerb/parse_line_multiline_str_literal_n.txt @@ -1,14 +1,16 @@ @ ProgramNode (location: (1,0)-(2,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ StringNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── content_loc: (1,1)-(1,5) = "a\\nb" │ ├── closing_loc: (1,5)-(1,6) = "\"" │ └── unescaped: "a\nb" └── @ IntegerNode (location: (2,0)-(2,1)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/parse_line_newlines.txt b/test/prism/snapshots/seattlerb/parse_line_newlines.txt index 3e1ceef586..ba705338ba 100644 --- a/test/prism/snapshots/seattlerb/parse_line_newlines.txt +++ b/test/prism/snapshots/seattlerb/parse_line_newlines.txt @@ -1,6 +1,9 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ TrueNode (location: (1,0)-(1,4)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt b/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt index d113f2af9d..f2c62b60d1 100644 --- a/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt +++ b/test/prism/snapshots/seattlerb/parse_line_op_asgn.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,6)-(3,9)) +├── flags: ∅ ├── locals: [:foo] └── statements: @ StatementsNode (location: (1,6)-(3,9)) + ├── flags: ∅ └── body: (length: 2) ├── @ LocalVariableOperatorWriteNode (location: (1,6)-(2,11)) + │ ├── flags: newline │ ├── name_loc: (1,6)-(1,9) = "foo" │ ├── binary_operator_loc: (1,10)-(1,12) = "+=" │ ├── value: @@ -21,7 +24,7 @@ │ ├── binary_operator: :+ │ └── depth: 0 └── @ CallNode (location: (3,6)-(3,9)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :baz diff --git a/test/prism/snapshots/seattlerb/parse_line_postexe.txt b/test/prism/snapshots/seattlerb/parse_line_postexe.txt index 68b5f02fe0..afa30a72c0 100644 --- a/test/prism/snapshots/seattlerb/parse_line_postexe.txt +++ b/test/prism/snapshots/seattlerb/parse_line_postexe.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(3,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,1)) + ├── flags: ∅ └── body: (length: 1) └── @ PostExecutionNode (location: (1,0)-(3,1)) + ├── flags: newline ├── statements: │ @ StatementsNode (location: (2,0)-(2,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,0)-(2,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo diff --git a/test/prism/snapshots/seattlerb/parse_line_preexe.txt b/test/prism/snapshots/seattlerb/parse_line_preexe.txt index 65ea22cf7d..4c670f30f6 100644 --- a/test/prism/snapshots/seattlerb/parse_line_preexe.txt +++ b/test/prism/snapshots/seattlerb/parse_line_preexe.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(3,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,1)) + ├── flags: ∅ └── body: (length: 1) └── @ PreExecutionNode (location: (1,0)-(3,1)) + ├── flags: newline ├── statements: │ @ StatementsNode (location: (2,0)-(2,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,0)-(2,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo diff --git a/test/prism/snapshots/seattlerb/parse_line_rescue.txt b/test/prism/snapshots/seattlerb/parse_line_rescue.txt index cb20d5403b..ba988f98dc 100644 --- a/test/prism/snapshots/seattlerb/parse_line_rescue.txt +++ b/test/prism/snapshots/seattlerb/parse_line_rescue.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(7,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,3)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(7,3)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (2,2)-(2,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,2)-(2,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -20,15 +24,17 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (3,0)-(6,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (4,2)-(4,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (4,2)-(4,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -39,15 +45,17 @@ │ │ └── block: ∅ │ └── consequent: │ @ RescueNode (location: (5,0)-(6,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (5,0)-(5,6) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (6,2)-(6,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (6,2)-(6,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :c diff --git a/test/prism/snapshots/seattlerb/parse_line_return.txt b/test/prism/snapshots/seattlerb/parse_line_return.txt index 719a4da5da..70a7286746 100644 --- a/test/prism/snapshots/seattlerb/parse_line_return.txt +++ b/test/prism/snapshots/seattlerb/parse_line_return.txt @@ -1,33 +1,40 @@ @ ProgramNode (location: (1,6)-(5,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,6)-(5,9)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,6)-(5,9)) + ├── flags: newline ├── name: :blah ├── name_loc: (1,10)-(1,14) = "blah" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (2,8)-(4,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IfNode (location: (2,8)-(4,11)) + │ ├── flags: newline │ ├── if_keyword_loc: (2,8)-(2,10) = "if" │ ├── predicate: │ │ @ TrueNode (location: (2,11)-(2,15)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: (2,16)-(2,20) = "then" │ ├── statements: │ │ @ StatementsNode (location: (3,10)-(3,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ReturnNode (location: (3,10)-(3,19)) - │ │ ├── flags: redundant + │ │ ├── flags: newline, redundant │ │ ├── keyword_loc: (3,10)-(3,16) = "return" │ │ └── arguments: │ │ @ ArgumentsNode (location: (3,17)-(3,19)) │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (3,17)-(3,19)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ ├── consequent: ∅ │ └── end_keyword_loc: (4,8)-(4,11) = "end" diff --git a/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt b/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt index 4a675d67c4..307e2af5f7 100644 --- a/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt +++ b/test/prism/snapshots/seattlerb/parse_line_str_with_newline_escape.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -21,5 +23,6 @@ │ │ ├── closing_loc: (1,5)-(1,6) = "\"" │ │ └── unescaped: "\n" │ └── @ TrueNode (location: (1,8)-(1,12)) + │ └── flags: static_literal ├── closing_loc: (1,12)-(1,13) = ")" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_line_to_ary.txt b/test/prism/snapshots/seattlerb/parse_line_to_ary.txt index 0485b0d2e3..d1b21f313c 100644 --- a/test/prism/snapshots/seattlerb/parse_line_to_ary.txt +++ b/test/prism/snapshots/seattlerb/parse_line_to_ary.txt @@ -1,14 +1,19 @@ @ ProgramNode (location: (1,0)-(3,1)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(3,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ MultiWriteNode (location: (1,0)-(2,5)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,1)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (2,0)-(2,1)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rest: ∅ @@ -28,7 +33,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,1)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :d diff --git a/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt b/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt index 5cd7702847..459c13e9f5 100644 --- a/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt +++ b/test/prism/snapshots/seattlerb/parse_line_trailing_newlines.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -14,7 +16,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (2,0)-(2,1)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b diff --git a/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt b/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt index dc11e2ca3d..d60a693d0e 100644 --- a/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt +++ b/test/prism/snapshots/seattlerb/parse_opt_call_args_assocs_comma.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :[] @@ -21,13 +23,14 @@ │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,6)) + │ ├── flags: static_literal │ ├── key: │ │ @ IntegerNode (location: (1,2)-(1,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── value: │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── operator_loc: (1,3)-(1,5) = "=>" ├── closing_loc: (1,7)-(1,8) = "]" diff --git a/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt b/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt index d1d3d9335f..753464b393 100644 --- a/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt +++ b/test/prism/snapshots/seattlerb/parse_opt_call_args_lit_comma.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: ∅ ├── name: :[] @@ -18,7 +20,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,2)-(1,3)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: (1,4)-(1,5) = "]" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_pattern_019.txt b/test/prism/snapshots/seattlerb/parse_pattern_019.txt index 9e2500fbde..1c289f46f5 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_019.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_019.txt @@ -1,31 +1,37 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 0 ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,6)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ RangeNode (location: (2,3)-(2,8)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (2,3)-(2,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: -1 │ │ ├── right: │ │ │ @ IntegerNode (location: (2,7)-(2,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (2,5)-(2,7) = ".." │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ TrueNode (location: (3,2)-(3,6)) + │ │ └── flags: newline, static_literal │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_pattern_044.txt b/test/prism/snapshots/seattlerb/parse_pattern_044.txt index 951a5100b6..543b1de572 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_044.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_044.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ CallNode (location: (1,5)-(1,8)) │ ├── flags: variable_call, ignore_visibility @@ -17,10 +20,13 @@ │ └── block: ∅ ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,6)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,11)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (2,3)-(2,9)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Object │ │ ├── requireds: (length: 0) │ │ ├── rest: ∅ @@ -29,8 +35,10 @@ │ │ └── closing_loc: (2,10)-(2,11) = "]" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ TrueNode (location: (3,2)-(3,6)) + │ │ └── flags: newline, static_literal │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_pattern_051.txt b/test/prism/snapshots/seattlerb/parse_pattern_051.txt index 6c366e559f..b6dd2bc6b2 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_051.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_051.txt @@ -1,45 +1,53 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ ArrayNode (location: (1,5)-(1,14)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 3) │ │ ├── @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 0 │ │ ├── @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (1,5)-(1,6) = "[" │ └── closing_loc: (1,13)-(1,14) = "]" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,6)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,3)-(2,10)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ IntegerNode (location: (2,4)-(2,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 0 │ │ │ └── @ IntegerNode (location: (2,7)-(2,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ ImplicitRestNode (location: (2,8)-(2,9)) + │ │ │ └── flags: ∅ │ │ ├── posts: (length: 0) │ │ ├── opening_loc: (2,3)-(2,4) = "[" │ │ └── closing_loc: (2,9)-(2,10) = "]" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ TrueNode (location: (3,2)-(3,6)) + │ │ └── flags: newline, static_literal │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_pattern_058.txt b/test/prism/snapshots/seattlerb/parse_pattern_058.txt index 8a4f8f8a68..e297033baa 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_058.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_058.txt @@ -1,52 +1,64 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [:a, :rest] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ HashNode (location: (1,5)-(1,11)) + │ ├── flags: static_literal │ ├── opening_loc: (1,5)-(1,6) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (1,6)-(1,10)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,6)-(1,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,6)-(1,7) = "a" │ │ │ ├── closing_loc: (1,7)-(1,8) = ":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 0 │ │ └── operator_loc: ∅ │ └── closing_loc: (1,10)-(1,11) = "}" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,11)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,15)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,4)-(2,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,4)-(2,6)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,4)-(2,5) = "a" │ │ │ │ ├── closing_loc: (2,5)-(2,6) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (2,4)-(2,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ LocalVariableTargetNode (location: (2,4)-(2,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ │ │ ├── rest: │ │ │ @ AssocSplatNode (location: (2,8)-(2,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: │ │ │ │ @ LocalVariableTargetNode (location: (2,10)-(2,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :rest │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: (2,8)-(2,10) = "**" @@ -54,14 +66,17 @@ │ │ └── closing_loc: (2,14)-(2,15) = "}" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ArrayNode (location: (3,2)-(3,11)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── elements: (length: 2) │ │ │ ├── @ LocalVariableReadNode (location: (3,3)-(3,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableReadNode (location: (3,6)-(3,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :rest │ │ │ └── depth: 0 │ │ ├── opening_loc: (3,2)-(3,3) = "[" diff --git a/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt b/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt index 3507d0f2cf..73c211e623 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_058_2.txt @@ -1,61 +1,74 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ HashNode (location: (1,5)-(1,11)) + │ ├── flags: static_literal │ ├── opening_loc: (1,5)-(1,6) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (1,6)-(1,10)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,6)-(1,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,6)-(1,7) = "a" │ │ │ ├── closing_loc: (1,7)-(1,8) = ":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 0 │ │ └── operator_loc: ∅ │ └── closing_loc: (1,10)-(1,11) = "}" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,5)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,11)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,4)-(2,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,4)-(2,6)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,4)-(2,5) = "a" │ │ │ │ ├── closing_loc: (2,5)-(2,6) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (2,4)-(2,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ LocalVariableTargetNode (location: (2,4)-(2,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ │ │ ├── rest: │ │ │ @ AssocSplatNode (location: (2,8)-(2,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: ∅ │ │ │ └── operator_loc: (2,8)-(2,10) = "**" │ │ ├── opening_loc: (2,3)-(2,4) = "{" │ │ └── closing_loc: (2,10)-(2,11) = "}" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ArrayNode (location: (3,2)-(3,5)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── elements: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (3,3)-(3,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── opening_loc: (3,2)-(3,3) = "[" diff --git a/test/prism/snapshots/seattlerb/parse_pattern_069.txt b/test/prism/snapshots/seattlerb/parse_pattern_069.txt index 09ac7653c6..b11d05f81b 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_069.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_069.txt @@ -1,35 +1,42 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ SymbolNode (location: (1,5)-(1,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,5)-(1,6) = ":" │ ├── value_loc: (1,6)-(1,7) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,3)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,15)) + │ │ ├── flags: ∅ │ │ ├── constant: │ │ │ @ ConstantReadNode (location: (2,3)-(2,9)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Object │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,10)-(2,14)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,10)-(2,12)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,10)-(2,11) = "b" │ │ │ │ ├── closing_loc: (2,11)-(2,12) = ":" │ │ │ │ └── unescaped: "b" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (2,13)-(2,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: ∅ │ │ ├── rest: ∅ @@ -37,9 +44,10 @@ │ │ └── closing_loc: (2,14)-(2,15) = "]" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (3,2)-(3,3)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_pattern_076.txt b/test/prism/snapshots/seattlerb/parse_pattern_076.txt index 60e71cd6fe..4bb810e7db 100644 --- a/test/prism/snapshots/seattlerb/parse_pattern_076.txt +++ b/test/prism/snapshots/seattlerb/parse_pattern_076.txt @@ -1,56 +1,67 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(4,3)) + ├── flags: newline ├── predicate: │ @ HashNode (location: (1,5)-(1,11)) + │ ├── flags: static_literal │ ├── opening_loc: (1,5)-(1,6) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (1,6)-(1,10)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,6)-(1,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,6)-(1,7) = "a" │ │ │ ├── closing_loc: (1,7)-(1,8) = ":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: ∅ │ └── closing_loc: (1,10)-(1,11) = "}" ├── conditions: (length: 1) │ └── @ InNode (location: (2,0)-(3,6)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ HashPatternNode (location: (2,3)-(2,16)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,4)-(2,8)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,4)-(2,6)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,4)-(2,5) = "a" │ │ │ │ ├── closing_loc: (2,5)-(2,6) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (2,7)-(2,8)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: ∅ │ │ ├── rest: │ │ │ @ NoKeywordsParameterNode (location: (2,10)-(2,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,10)-(2,12) = "**" │ │ │ └── keyword_loc: (2,12)-(2,15) = "nil" │ │ ├── opening_loc: (2,3)-(2,4) = "{" │ │ └── closing_loc: (2,15)-(2,16) = "}" │ ├── statements: │ │ @ StatementsNode (location: (3,2)-(3,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ TrueNode (location: (3,2)-(3,6)) + │ │ └── flags: newline, static_literal │ ├── in_loc: (2,0)-(2,2) = "in" │ └── then_loc: ∅ ├── consequent: ∅ diff --git a/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt index 7d5ef19a05..e8bd89c050 100644 --- a/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt +++ b/test/prism/snapshots/seattlerb/parse_until_not_canonical.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ UntilNode (location: (1,0)-(3,3)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (1,0)-(1,5) = "until" ├── closing_loc: (3,0)-(3,3) = "end" ├── predicate: @@ -40,9 +42,10 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (2,2)-(2,7)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (2,2)-(2,7)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (2,2)-(2,3) = "'" ├── content_loc: (2,3)-(2,6) = "foo" ├── closing_loc: (2,6)-(2,7) = "'" diff --git a/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt index 7d5ef19a05..e8bd89c050 100644 --- a/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt +++ b/test/prism/snapshots/seattlerb/parse_until_not_noncanonical.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ UntilNode (location: (1,0)-(3,3)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (1,0)-(1,5) = "until" ├── closing_loc: (3,0)-(3,3) = "end" ├── predicate: @@ -40,9 +42,10 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (2,2)-(2,7)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (2,2)-(2,7)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (2,2)-(2,3) = "'" ├── content_loc: (2,3)-(2,6) = "foo" ├── closing_loc: (2,6)-(2,7) = "'" diff --git a/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt b/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt index 91eb88a70f..16d53d5cef 100644 --- a/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt +++ b/test/prism/snapshots/seattlerb/parse_while_not_canonical.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ WhileNode (location: (1,0)-(3,3)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (1,0)-(1,5) = "while" ├── closing_loc: (3,0)-(3,3) = "end" ├── predicate: @@ -40,9 +42,10 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (2,2)-(2,7)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (2,2)-(2,7)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (2,2)-(2,3) = "'" ├── content_loc: (2,3)-(2,6) = "foo" ├── closing_loc: (2,6)-(2,7) = "'" diff --git a/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt b/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt index 91eb88a70f..16d53d5cef 100644 --- a/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt +++ b/test/prism/snapshots/seattlerb/parse_while_not_noncanonical.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ WhileNode (location: (1,0)-(3,3)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (1,0)-(1,5) = "while" ├── closing_loc: (3,0)-(3,3) = "end" ├── predicate: @@ -40,9 +42,10 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (2,2)-(2,7)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (2,2)-(2,7)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (2,2)-(2,3) = "'" ├── content_loc: (2,3)-(2,6) = "foo" ├── closing_loc: (2,6)-(2,7) = "'" diff --git a/test/prism/snapshots/seattlerb/pctW_lineno.txt b/test/prism/snapshots/seattlerb/pctW_lineno.txt index 58efa9c59a..3afa00f067 100644 --- a/test/prism/snapshots/seattlerb/pctW_lineno.txt +++ b/test/prism/snapshots/seattlerb/pctW_lineno.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,11)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(5,11)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 7) │ ├── @ StringNode (location: (1,3)-(1,7)) │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/pct_Q_backslash_nl.txt b/test/prism/snapshots/seattlerb/pct_Q_backslash_nl.txt index 31cc0941ee..0789fb575c 100644 --- a/test/prism/snapshots/seattlerb/pct_Q_backslash_nl.txt +++ b/test/prism/snapshots/seattlerb/pct_Q_backslash_nl.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,1)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(2,1)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,3) = "%q{" ├── content_loc: (1,3)-(2,0) = " \\\n" ├── closing_loc: (2,0)-(2,1) = "}" diff --git a/test/prism/snapshots/seattlerb/pct_nl.txt b/test/prism/snapshots/seattlerb/pct_nl.txt index 1009fcb51d..971e2a58ee 100644 --- a/test/prism/snapshots/seattlerb/pct_nl.txt +++ b/test/prism/snapshots/seattlerb/pct_nl.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,0)) +├── flags: ∅ ├── locals: [:x] └── statements: @ StatementsNode (location: (1,0)-(3,0)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(3,0)) + ├── flags: newline ├── name: :x ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "x" diff --git a/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt b/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt index 1b8ec69b56..4d5f2c7f0f 100644 --- a/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt +++ b/test/prism/snapshots/seattlerb/pct_w_heredoc_interp_nested.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,11)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(4,11)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 5) │ ├── @ StringNode (location: (1,4)-(1,5)) │ │ ├── flags: ∅ @@ -13,16 +15,18 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "1" │ ├── @ InterpolatedStringNode (location: (1,6)-(1,12)) - │ │ ├── flags: mutable + │ │ ├── flags: static_literal, mutable │ │ ├── opening_loc: ∅ │ │ ├── parts: (length: 1) │ │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,6)-(1,8) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,8)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ StringNode (location: (1,8)-(1,11)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: (1,8)-(1,11) = "<<A" │ │ │ │ ├── content_loc: (2,0)-(3,0) = "2\n" │ │ │ │ ├── closing_loc: (3,0)-(4,0) = "A\n" diff --git a/test/prism/snapshots/seattlerb/pipe_semicolon.txt b/test/prism/snapshots/seattlerb/pipe_semicolon.txt index 71fb4fbed5..14b4ad4d54 100644 --- a/test/prism/snapshots/seattlerb/pipe_semicolon.txt +++ b/test/prism/snapshots/seattlerb/pipe_semicolon.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,18)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -24,9 +26,11 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,4)-(1,18)) + ├── flags: ∅ ├── locals: [:c] ├── parameters: │ @ BlockParametersNode (location: (1,7)-(1,14)) + │ ├── flags: ∅ │ ├── parameters: ∅ │ ├── locals: (length: 1) │ │ └── @ BlockLocalVariableNode (location: (1,11)-(1,12)) diff --git a/test/prism/snapshots/seattlerb/pipe_space.txt b/test/prism/snapshots/seattlerb/pipe_space.txt index 302d225337..00aba740dd 100644 --- a/test/prism/snapshots/seattlerb/pipe_space.txt +++ b/test/prism/snapshots/seattlerb/pipe_space.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -24,9 +26,11 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,4)-(1,14)) + ├── flags: ∅ ├── locals: [] ├── parameters: │ @ BlockParametersNode (location: (1,7)-(1,10)) + │ ├── flags: ∅ │ ├── parameters: ∅ │ ├── locals: (length: 0) │ ├── opening_loc: (1,7)-(1,8) = "|" diff --git a/test/prism/snapshots/seattlerb/qWords_space.txt b/test/prism/snapshots/seattlerb/qWords_space.txt index 95ae6d4075..6df5459c77 100644 --- a/test/prism/snapshots/seattlerb/qWords_space.txt +++ b/test/prism/snapshots/seattlerb/qWords_space.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%W(" └── closing_loc: (1,4)-(1,5) = ")" diff --git a/test/prism/snapshots/seattlerb/qsymbols.txt b/test/prism/snapshots/seattlerb/qsymbols.txt index 8ba68638c5..b350644933 100644 --- a/test/prism/snapshots/seattlerb/qsymbols.txt +++ b/test/prism/snapshots/seattlerb/qsymbols.txt @@ -1,25 +1,27 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 3) │ ├── @ SymbolNode (location: (1,3)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,3)-(1,4) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── @ SymbolNode (location: (1,5)-(1,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,5)-(1,6) = "b" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ └── @ SymbolNode (location: (1,7)-(1,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (1,7)-(1,8) = "c" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/qsymbols_empty.txt b/test/prism/snapshots/seattlerb/qsymbols_empty.txt index 54aa3f77d7..80af231eb4 100644 --- a/test/prism/snapshots/seattlerb/qsymbols_empty.txt +++ b/test/prism/snapshots/seattlerb/qsymbols_empty.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%I(" └── closing_loc: (1,3)-(1,4) = ")" diff --git a/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt b/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt index 624b922ce6..d55d1a5003 100644 --- a/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt +++ b/test/prism/snapshots/seattlerb/qsymbols_empty_space.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%I(" └── closing_loc: (1,4)-(1,5) = ")" diff --git a/test/prism/snapshots/seattlerb/qsymbols_interp.txt b/test/prism/snapshots/seattlerb/qsymbols_interp.txt index 97bc6754ff..844decfc43 100644 --- a/test/prism/snapshots/seattlerb/qsymbols_interp.txt +++ b/test/prism/snapshots/seattlerb/qsymbols_interp.txt @@ -1,36 +1,41 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,15)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 3) │ ├── @ SymbolNode (location: (1,3)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,3)-(1,4) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── @ InterpolatedSymbolNode (location: (1,5)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: ∅ │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (1,5)-(1,6)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (1,5)-(1,6) = "b" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,6)-(1,8) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,8)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (1,8)-(1,11)) │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :+ @@ -41,14 +46,14 @@ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (1,11)-(1,12) = "}" │ │ └── closing_loc: ∅ │ └── @ SymbolNode (location: (1,13)-(1,14)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (1,13)-(1,14) = "c" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt index bbc19d50ef..9484ed9d04 100644 --- a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt +++ b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :puts @@ -18,15 +20,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,5)-(1,12)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (1,5)-(1,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,5)-(1,6) = "'" │ │ ├── value_loc: (1,6)-(1,7) = "a" │ │ ├── closing_loc: (1,7)-(1,9) = "':" │ │ └── unescaped: "a" │ ├── value: │ │ @ HashNode (location: (1,10)-(1,12)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (1,10)-(1,11) = "{" │ │ ├── elements: (length: 0) │ │ └── closing_loc: (1,11)-(1,12) = "}" diff --git a/test/prism/snapshots/seattlerb/quoted_symbol_keys.txt b/test/prism/snapshots/seattlerb/quoted_symbol_keys.txt index 96e6af51a4..12a8126896 100644 --- a/test/prism/snapshots/seattlerb/quoted_symbol_keys.txt +++ b/test/prism/snapshots/seattlerb/quoted_symbol_keys.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ HashNode (location: (1,0)-(1,11)) + ├── flags: newline, static_literal ├── opening_loc: (1,0)-(1,1) = "{" ├── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,9)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,2)-(1,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,2)-(1,3) = "'" │ │ ├── value_loc: (1,3)-(1,4) = "a" │ │ ├── closing_loc: (1,4)-(1,6) = "':" │ │ └── unescaped: "a" │ ├── value: │ │ @ SymbolNode (location: (1,7)-(1,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,7)-(1,8) = ":" │ │ ├── value_loc: (1,8)-(1,9) = "b" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/qw_escape.txt b/test/prism/snapshots/seattlerb/qw_escape.txt index d92c1da7a6..8d922f190a 100644 --- a/test/prism/snapshots/seattlerb/qw_escape.txt +++ b/test/prism/snapshots/seattlerb/qw_escape.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,7)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,3) = "%q(" ├── content_loc: (1,3)-(1,6) = "\u0001\\'" ├── closing_loc: (1,6)-(1,7) = ")" diff --git a/test/prism/snapshots/seattlerb/qw_escape_term.txt b/test/prism/snapshots/seattlerb/qw_escape_term.txt index e935b7eb68..8c369acd84 100644 --- a/test/prism/snapshots/seattlerb/qw_escape_term.txt +++ b/test/prism/snapshots/seattlerb/qw_escape_term.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,26)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,26)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,26)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,3) = "%q|" ├── content_loc: (1,3)-(1,25) = "blah blah \\| blah blah" ├── closing_loc: (1,25)-(1,26) = "|" diff --git a/test/prism/snapshots/seattlerb/qwords_empty.txt b/test/prism/snapshots/seattlerb/qwords_empty.txt index f9915c97c9..53279b034b 100644 --- a/test/prism/snapshots/seattlerb/qwords_empty.txt +++ b/test/prism/snapshots/seattlerb/qwords_empty.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%w(" └── closing_loc: (1,3)-(1,4) = ")" diff --git a/test/prism/snapshots/seattlerb/read_escape_unicode_curlies.txt b/test/prism/snapshots/seattlerb/read_escape_unicode_curlies.txt index 3ea5604b69..bc0d9f92de 100644 --- a/test/prism/snapshots/seattlerb/read_escape_unicode_curlies.txt +++ b/test/prism/snapshots/seattlerb/read_escape_unicode_curlies.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,9)) - ├── flags: forced_utf8_encoding + ├── flags: newline, forced_utf8_encoding ├── opening_loc: (1,0)-(1,1) = "?" ├── content_loc: (1,1)-(1,9) = "\\u{00a0}" ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/read_escape_unicode_h4.txt b/test/prism/snapshots/seattlerb/read_escape_unicode_h4.txt index 1eba1396fd..046faafb22 100644 --- a/test/prism/snapshots/seattlerb/read_escape_unicode_h4.txt +++ b/test/prism/snapshots/seattlerb/read_escape_unicode_h4.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,7)) - ├── flags: forced_utf8_encoding + ├── flags: newline, forced_utf8_encoding ├── opening_loc: (1,0)-(1,1) = "?" ├── content_loc: (1,1)-(1,7) = "\\u00a0" ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/regexp.txt b/test/prism/snapshots/seattlerb/regexp.txt index 06cf99264e..f8b3f38047 100644 --- a/test/prism/snapshots/seattlerb/regexp.txt +++ b/test/prism/snapshots/seattlerb/regexp.txt @@ -1,34 +1,36 @@ @ ProgramNode (location: (1,0)-(9,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(9,13)) + ├── flags: ∅ └── body: (length: 5) ├── @ RegularExpressionNode (location: (1,0)-(1,5)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,0)-(1,1) = "/" │ ├── content_loc: (1,1)-(1,4) = "wtf" │ ├── closing_loc: (1,4)-(1,5) = "/" │ └── unescaped: "wtf" ├── @ RegularExpressionNode (location: (3,0)-(3,6)) - │ ├── flags: multi_line, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, multi_line, forced_us_ascii_encoding │ ├── opening_loc: (3,0)-(3,1) = "/" │ ├── content_loc: (3,1)-(3,4) = "wtf" │ ├── closing_loc: (3,4)-(3,6) = "/m" │ └── unescaped: "wtf" ├── @ RegularExpressionNode (location: (5,0)-(5,6)) - │ ├── flags: ascii_8bit, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, ascii_8bit, forced_us_ascii_encoding │ ├── opening_loc: (5,0)-(5,1) = "/" │ ├── content_loc: (5,1)-(5,4) = "wtf" │ ├── closing_loc: (5,4)-(5,6) = "/n" │ └── unescaped: "wtf" ├── @ RegularExpressionNode (location: (7,0)-(7,7)) - │ ├── flags: multi_line, ascii_8bit, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, multi_line, ascii_8bit, forced_us_ascii_encoding │ ├── opening_loc: (7,0)-(7,1) = "/" │ ├── content_loc: (7,1)-(7,4) = "wtf" │ ├── closing_loc: (7,4)-(7,7) = "/nm" │ └── unescaped: "wtf" └── @ RegularExpressionNode (location: (9,0)-(9,13)) - ├── flags: multi_line, ascii_8bit, forced_us_ascii_encoding + ├── flags: newline, static_literal, multi_line, ascii_8bit, forced_us_ascii_encoding ├── opening_loc: (9,0)-(9,1) = "/" ├── content_loc: (9,1)-(9,4) = "wtf" ├── closing_loc: (9,4)-(9,13) = "/nmnmnmnm" diff --git a/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt b/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt index 4dbedc44ca..97444c6e2b 100644 --- a/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt +++ b/test/prism/snapshots/seattlerb/regexp_esc_C_slash.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,7)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,6) = "\\cC\\d" ├── closing_loc: (1,6)-(1,7) = "/" diff --git a/test/prism/snapshots/seattlerb/regexp_esc_u.txt b/test/prism/snapshots/seattlerb/regexp_esc_u.txt index bca451eb3b..1e915bae99 100644 --- a/test/prism/snapshots/seattlerb/regexp_esc_u.txt +++ b/test/prism/snapshots/seattlerb/regexp_esc_u.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,17)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,16) = "[\\u0021-\\u0027]" ├── closing_loc: (1,16)-(1,17) = "/" diff --git a/test/prism/snapshots/seattlerb/regexp_escape_extended.txt b/test/prism/snapshots/seattlerb/regexp_escape_extended.txt index 6568d2bd92..732899a20d 100644 --- a/test/prism/snapshots/seattlerb/regexp_escape_extended.txt +++ b/test/prism/snapshots/seattlerb/regexp_escape_extended.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,5) = "\\“" ├── closing_loc: (1,5)-(1,6) = "/" diff --git a/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt b/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt index 487161b4d0..e62ed42ca5 100644 --- a/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt +++ b/test/prism/snapshots/seattlerb/regexp_unicode_curlies.txt @@ -1,16 +1,18 @@ @ ProgramNode (location: (1,0)-(3,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,8)) + ├── flags: ∅ └── body: (length: 2) ├── @ RegularExpressionNode (location: (1,0)-(1,15)) - │ ├── flags: forced_utf8_encoding + │ ├── flags: newline, static_literal, forced_utf8_encoding │ ├── opening_loc: (1,0)-(1,1) = "/" │ ├── content_loc: (1,1)-(1,14) = "\\u{c0de babe}" │ ├── closing_loc: (1,14)-(1,15) = "/" │ └── unescaped: "\\u{c0de babe}" └── @ RegularExpressionNode (location: (3,0)-(3,8)) - ├── flags: forced_utf8_encoding + ├── flags: newline, static_literal, forced_utf8_encoding ├── opening_loc: (3,0)-(3,1) = "/" ├── content_loc: (3,1)-(3,7) = "\\u{df}" ├── closing_loc: (3,7)-(3,8) = "/" diff --git a/test/prism/snapshots/seattlerb/required_kwarg_no_value.txt b/test/prism/snapshots/seattlerb/required_kwarg_no_value.txt index 54595ac5cb..6ae3e6d0a8 100644 --- a/test/prism/snapshots/seattlerb/required_kwarg_no_value.txt +++ b/test/prism/snapshots/seattlerb/required_kwarg_no_value.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(2,3)) + ├── flags: newline ├── name: :x ├── name_loc: (1,4)-(1,5) = "x" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt b/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt index 21f8bb08a5..bc3c34446b 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_ensure_result.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(5,8)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(5,3)) │ ├── flags: ignore_visibility @@ -17,16 +19,19 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,5)-(5,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (1,5)-(5,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (2,2)-(2,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (2,2)-(2,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (2,2)-(2,3) = ":" │ │ │ ├── value_loc: (2,3)-(2,8) = "begin" │ │ │ ├── closing_loc: ∅ @@ -35,12 +40,14 @@ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (3,0)-(5,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (4,2)-(4,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" │ │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure" │ │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt b/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt index aa4e85c171..8264ba6dcb 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_no_raise.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(9,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(9,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(9,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -14,31 +16,36 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,4)-(9,3)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ BeginNode (location: (1,4)-(9,3)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,2)-(2,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (2,2)-(2,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (2,2)-(2,3) = ":" │ │ ├── value_loc: (2,3)-(2,8) = "begin" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "begin" │ ├── rescue_clause: │ │ @ RescueNode (location: (3,0)-(4,9)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (4,2)-(4,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue" │ │ │ ├── closing_loc: ∅ @@ -46,12 +53,14 @@ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (5,0)-(7,6)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (6,2)-(6,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (6,2)-(6,7)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (6,2)-(6,3) = ":" │ │ │ ├── value_loc: (6,3)-(6,7) = "else" │ │ │ ├── closing_loc: ∅ @@ -59,12 +68,14 @@ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" │ ├── ensure_clause: │ │ @ EnsureNode (location: (7,0)-(9,3)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (8,2)-(8,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (8,2)-(8,9)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (8,2)-(8,3) = ":" │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure" │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt b/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt index 06f67fae69..53b77c1ea5 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_raised.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(5,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -14,16 +16,19 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,4)-(5,3)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ BeginNode (location: (1,4)-(5,3)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,2)-(2,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,7)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -36,12 +41,14 @@ │ ├── else_clause: ∅ │ ├── ensure_clause: │ │ @ EnsureNode (location: (3,0)-(5,3)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (3,0)-(3,6) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (4,2)-(4,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" │ │ │ ├── value_loc: (4,3)-(4,9) = "ensure" │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt b/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt index b4576c3bb2..d08c4dfe3c 100644 --- a/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt +++ b/test/prism/snapshots/seattlerb/rescue_do_end_rescued.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(9,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(9,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(9,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -14,16 +16,19 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,4)-(9,3)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ BeginNode (location: (1,4)-(9,3)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,2)-(2,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,7)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -34,15 +39,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (3,0)-(4,9)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (4,2)-(4,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (4,2)-(4,9)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (4,2)-(4,3) = ":" │ │ │ ├── value_loc: (4,3)-(4,9) = "rescue" │ │ │ ├── closing_loc: ∅ @@ -50,12 +57,14 @@ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (5,0)-(7,6)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (6,2)-(6,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (6,2)-(6,7)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (6,2)-(6,3) = ":" │ │ │ ├── value_loc: (6,3)-(6,7) = "else" │ │ │ ├── closing_loc: ∅ @@ -63,12 +72,14 @@ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" │ ├── ensure_clause: │ │ @ EnsureNode (location: (7,0)-(9,3)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (8,2)-(8,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (8,2)-(8,9)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (8,2)-(8,3) = ":" │ │ │ ├── value_loc: (8,3)-(8,9) = "ensure" │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/rescue_in_block.txt b/test/prism/snapshots/seattlerb/rescue_in_block.txt index daac2b6776..0ee5868878 100644 --- a/test/prism/snapshots/seattlerb/rescue_in_block.txt +++ b/test/prism/snapshots/seattlerb/rescue_in_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :blah @@ -14,23 +16,27 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,5)-(4,3)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ BeginNode (location: (1,5)-(4,3)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: ∅ │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (2,0)-(3,7)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,2)-(3,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,2)-(3,7)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :stuff diff --git a/test/prism/snapshots/seattlerb/rescue_parens.txt b/test/prism/snapshots/seattlerb/rescue_parens.txt index d086095e7a..2232ebb7a5 100644 --- a/test/prism/snapshots/seattlerb/rescue_parens.txt +++ b/test/prism/snapshots/seattlerb/rescue_parens.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -15,10 +17,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,2)-(1,14)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,3)-(1,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (1,3)-(1,13)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ CallNode (location: (1,3)-(1,4)) │ │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/return_call_assocs.txt b/test/prism/snapshots/seattlerb/return_call_assocs.txt index 8948f7879b..58c34b41d6 100644 --- a/test/prism/snapshots/seattlerb/return_call_assocs.txt +++ b/test/prism/snapshots/seattlerb/return_call_assocs.txt @@ -1,75 +1,80 @@ @ ProgramNode (location: (1,0)-(11,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(11,14)) + ├── flags: ∅ └── body: (length: 6) ├── @ ReturnNode (location: (1,0)-(1,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (1,7)-(1,17)) │ ├── flags: contains_keywords │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (1,7)-(1,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ KeywordHashNode (location: (1,10)-(1,17)) │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,10)-(1,17)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,10)-(1,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,10)-(1,11) = ":" │ │ ├── value_loc: (1,11)-(1,12) = "z" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "z" │ ├── value: │ │ @ IntegerNode (location: (1,16)-(1,17)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (1,13)-(1,15) = "=>" ├── @ ReturnNode (location: (3,0)-(3,26)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (3,0)-(3,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (3,7)-(3,26)) │ ├── flags: contains_keywords │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (3,7)-(3,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ KeywordHashNode (location: (3,10)-(3,26)) │ ├── flags: symbol_keys │ └── elements: (length: 2) │ ├── @ AssocNode (location: (3,10)-(3,17)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (3,10)-(3,12)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (3,10)-(3,11) = ":" │ │ │ ├── value_loc: (3,11)-(3,12) = "z" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "z" │ │ ├── value: │ │ │ @ IntegerNode (location: (3,16)-(3,17)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (3,13)-(3,15) = "=>" │ └── @ AssocNode (location: (3,19)-(3,26)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (3,19)-(3,21)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,19)-(3,20) = ":" │ │ ├── value_loc: (3,20)-(3,21) = "w" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "w" │ ├── value: │ │ @ IntegerNode (location: (3,25)-(3,26)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (3,22)-(3,24) = "=>" ├── @ ReturnNode (location: (5,0)-(5,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (5,0)-(5,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (5,7)-(5,14)) @@ -90,22 +95,23 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (5,9)-(5,14)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (5,9)-(5,11)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (5,9)-(5,10) = ":" │ │ │ ├── value_loc: (5,10)-(5,11) = "z" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "z" │ │ ├── value: │ │ │ @ IntegerNode (location: (5,13)-(5,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (5,11)-(5,13) = "=>" │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ReturnNode (location: (7,0)-(7,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (7,0)-(7,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (7,7)-(7,12)) @@ -126,22 +132,23 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (7,9)-(7,12)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (7,9)-(7,11)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (7,9)-(7,10) = "z" │ │ │ ├── closing_loc: (7,10)-(7,11) = ":" │ │ │ └── unescaped: "z" │ │ ├── value: │ │ │ @ IntegerNode (location: (7,11)-(7,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ReturnNode (location: (9,0)-(9,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (9,0)-(9,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (9,7)-(9,13)) @@ -162,22 +169,23 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (9,9)-(9,12)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (9,9)-(9,11)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (9,9)-(9,10) = "z" │ │ │ ├── closing_loc: (9,10)-(9,11) = ":" │ │ │ └── unescaped: "z" │ │ ├── value: │ │ │ @ IntegerNode (location: (9,11)-(9,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: ∅ │ ├── closing_loc: (9,12)-(9,13) = ")" │ └── block: ∅ └── @ ReturnNode (location: (11,0)-(11,14)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (11,0)-(11,6) = "return" └── arguments: @ ArgumentsNode (location: (11,7)-(11,14)) @@ -198,6 +206,7 @@ │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (11,9)-(11,13)) + │ ├── flags: ∅ │ ├── key: │ │ @ CallNode (location: (11,9)-(11,10)) │ │ ├── flags: variable_call, ignore_visibility @@ -211,7 +220,7 @@ │ │ └── block: ∅ │ ├── value: │ │ @ IntegerNode (location: (11,12)-(11,13)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (11,10)-(11,12) = "=>" ├── closing_loc: (11,13)-(11,14) = ")" diff --git a/test/prism/snapshots/seattlerb/rhs_asgn.txt b/test/prism/snapshots/seattlerb/rhs_asgn.txt index 9ee187218b..81ebb5e881 100644 --- a/test/prism/snapshots/seattlerb/rhs_asgn.txt +++ b/test/prism/snapshots/seattlerb/rhs_asgn.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [:n] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ MatchRequiredNode (location: (1,0)-(1,7)) + ├── flags: newline ├── value: │ @ IntegerNode (location: (1,0)-(1,2)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 42 ├── pattern: │ @ LocalVariableTargetNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── name: :n │ └── depth: 0 └── operator_loc: (1,3)-(1,5) = "=>" diff --git a/test/prism/snapshots/seattlerb/ruby21_numbers.txt b/test/prism/snapshots/seattlerb/ruby21_numbers.txt index e7eec943f8..9b4fab8592 100644 --- a/test/prism/snapshots/seattlerb/ruby21_numbers.txt +++ b/test/prism/snapshots/seattlerb/ruby21_numbers.txt @@ -1,24 +1,28 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,13)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 3) │ ├── @ ImaginaryNode (location: (1,1)-(1,3)) + │ │ ├── flags: static_literal │ │ └── numeric: │ │ @ IntegerNode (location: (1,1)-(1,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── @ RationalNode (location: (1,5)-(1,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ ├── numerator: 2 │ │ └── denominator: 1 │ └── @ ImaginaryNode (location: (1,9)-(1,12)) + │ ├── flags: static_literal │ └── numeric: │ @ RationalNode (location: (1,9)-(1,11)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ ├── numerator: 3 │ └── denominator: 1 ├── opening_loc: (1,0)-(1,1) = "[" diff --git a/test/prism/snapshots/seattlerb/safe_attrasgn.txt b/test/prism/snapshots/seattlerb/safe_attrasgn.txt index 3cec95ae7c..cb849e3f05 100644 --- a/test/prism/snapshots/seattlerb/safe_attrasgn.txt +++ b/test/prism/snapshots/seattlerb/safe_attrasgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) - ├── flags: safe_navigation, attribute_write + ├── flags: newline, safe_navigation, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,7 +27,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt b/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt index baea063186..dc37648a08 100644 --- a/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt +++ b/test/prism/snapshots/seattlerb/safe_attrasgn_constant.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) - ├── flags: safe_navigation, attribute_write + ├── flags: newline, safe_navigation, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,7 +27,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_call.txt b/test/prism/snapshots/seattlerb/safe_call.txt index 7b402d9ef2..7faa6ac04e 100644 --- a/test/prism/snapshots/seattlerb/safe_call.txt +++ b/test/prism/snapshots/seattlerb/safe_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/safe_call_after_newline.txt b/test/prism/snapshots/seattlerb/safe_call_after_newline.txt index 0a69cbc9e5..f55fcdd21b 100644 --- a/test/prism/snapshots/seattlerb/safe_call_after_newline.txt +++ b/test/prism/snapshots/seattlerb/safe_call_after_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,3)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt b/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt index 1d6ba9e49e..b4d8616f38 100644 --- a/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt +++ b/test/prism/snapshots/seattlerb/safe_call_dot_parens.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,5)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/safe_call_newline.txt b/test/prism/snapshots/seattlerb/safe_call_newline.txt index 7b402d9ef2..7faa6ac04e 100644 --- a/test/prism/snapshots/seattlerb/safe_call_newline.txt +++ b/test/prism/snapshots/seattlerb/safe_call_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/safe_call_operator.txt b/test/prism/snapshots/seattlerb/safe_call_operator.txt index d1f9b1ea9e..918cbe1828 100644 --- a/test/prism/snapshots/seattlerb/safe_call_operator.txt +++ b/test/prism/snapshots/seattlerb/safe_call_operator.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,7 +27,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt b/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt index 34790ebb33..50d03b7044 100644 --- a/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt +++ b/test/prism/snapshots/seattlerb/safe_call_rhs_newline.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [:c] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,8)) + ├── flags: newline ├── name: :c ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "c" diff --git a/test/prism/snapshots/seattlerb/safe_calls.txt b/test/prism/snapshots/seattlerb/safe_calls.txt index 54e591d9c0..5d853af648 100644 --- a/test/prism/snapshots/seattlerb/safe_calls.txt +++ b/test/prism/snapshots/seattlerb/safe_calls.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,4)) │ ├── flags: safe_navigation @@ -35,7 +37,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (1,9)-(1,10) = ")" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_op_asgn.txt b/test/prism/snapshots/seattlerb/safe_op_asgn.txt index ebcedd6b5e..31ad5a813d 100644 --- a/test/prism/snapshots/seattlerb/safe_op_asgn.txt +++ b/test/prism/snapshots/seattlerb/safe_op_asgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallOperatorWriteNode (location: (1,0)-(1,11)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -35,7 +37,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/safe_op_asgn2.txt b/test/prism/snapshots/seattlerb/safe_op_asgn2.txt index bdb0e06156..81d42aac63 100644 --- a/test/prism/snapshots/seattlerb/safe_op_asgn2.txt +++ b/test/prism/snapshots/seattlerb/safe_op_asgn2.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,1)) + ├── flags: ∅ └── body: (length: 1) └── @ CallOrWriteNode (location: (1,0)-(2,1)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt b/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt index f9be33ffdd..061e67ca6a 100644 --- a/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt +++ b/test/prism/snapshots/seattlerb/slashy_newlines_within_string.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(6,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(6,5)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(4,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :puts @@ -23,7 +25,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (6,0)-(6,5)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (6,0)-(6,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/stabby_arg_no_paren.txt b/test/prism/snapshots/seattlerb/stabby_arg_no_paren.txt index e665565d38..e00e82e9c6 100644 --- a/test/prism/snapshots/seattlerb/stabby_arg_no_paren.txt +++ b/test/prism/snapshots/seattlerb/stabby_arg_no_paren.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,5)) + ├── flags: newline ├── locals: [:a] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,3)-(1,4) = "{" ├── closing_loc: (1,4)-(1,5) = "}" ├── parameters: │ @ BlockParametersNode (location: (1,2)-(1,3)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,2)-(1,3)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,2)-(1,3)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/stabby_arg_opt_splat_arg_block_omfg.txt b/test/prism/snapshots/seattlerb/stabby_arg_opt_splat_arg_block_omfg.txt index 0b0000ef33..b0b9a93f61 100644 --- a/test/prism/snapshots/seattlerb/stabby_arg_opt_splat_arg_block_omfg.txt +++ b/test/prism/snapshots/seattlerb/stabby_arg_opt_splat_arg_block_omfg.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,23)) + ├── flags: newline ├── locals: [:b, :c, :d, :e, :f] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,21)-(1,22) = "{" ├── closing_loc: (1,22)-(1,23) = "}" ├── parameters: │ @ BlockParametersNode (location: (1,2)-(1,21)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,3)-(1,20)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4)) │ │ │ ├── flags: ∅ @@ -24,7 +29,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (1,11)-(1,13)) diff --git a/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt b/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt index e51c7d97ed..9769563607 100644 --- a/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt +++ b/test/prism/snapshots/seattlerb/stabby_block_iter_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -15,21 +17,24 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LambdaNode (location: (1,2)-(4,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── operator_loc: (1,2)-(1,4) = "->" │ ├── opening_loc: (1,8)-(1,10) = "do" │ ├── closing_loc: (4,0)-(4,3) = "end" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,5)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 0) │ │ ├── opening_loc: (1,5)-(1,6) = "(" │ │ └── closing_loc: (1,6)-(1,7) = ")" │ └── body: │ @ StatementsNode (location: (2,0)-(3,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,0)-(3,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (2,0)-(2,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -49,6 +54,7 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (2,4)-(3,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt b/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt index d7a268a5d5..5d60be6e86 100644 --- a/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt +++ b/test/prism/snapshots/seattlerb/stabby_block_iter_call_no_target_with_arg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(4,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x @@ -15,21 +17,24 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LambdaNode (location: (1,2)-(4,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── operator_loc: (1,2)-(1,4) = "->" │ ├── opening_loc: (1,8)-(1,10) = "do" │ ├── closing_loc: (4,0)-(4,3) = "end" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,5)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 0) │ │ ├── opening_loc: (1,5)-(1,6) = "(" │ │ └── closing_loc: (1,6)-(1,7) = ")" │ └── body: │ @ StatementsNode (location: (2,0)-(3,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,0)-(3,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -40,11 +45,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (2,2)-(2,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: (2,3)-(2,4) = ")" │ └── block: │ @ BlockNode (location: (2,5)-(3,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/seattlerb/stabby_block_kw.txt b/test/prism/snapshots/seattlerb/stabby_block_kw.txt index 7addbb8b28..456eb69100 100644 --- a/test/prism/snapshots/seattlerb/stabby_block_kw.txt +++ b/test/prism/snapshots/seattlerb/stabby_block_kw.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,13)) + ├── flags: newline ├── locals: [:k] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,10)-(1,11) = "{" ├── closing_loc: (1,12)-(1,13) = "}" ├── parameters: │ @ BlockParametersNode (location: (1,3)-(1,9)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,4)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -23,7 +28,7 @@ │ │ │ ├── name_loc: (1,4)-(1,6) = "k:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,6)-(1,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/stabby_block_kw__required.txt b/test/prism/snapshots/seattlerb/stabby_block_kw__required.txt index b5040d91db..823a5adca4 100644 --- a/test/prism/snapshots/seattlerb/stabby_block_kw__required.txt +++ b/test/prism/snapshots/seattlerb/stabby_block_kw__required.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,11)) + ├── flags: newline ├── locals: [:k] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,8)-(1,9) = "{" ├── closing_loc: (1,10)-(1,11) = "}" ├── parameters: │ @ BlockParametersNode (location: (1,3)-(1,7)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,4)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/seattlerb/stabby_proc_scope.txt b/test/prism/snapshots/seattlerb/stabby_proc_scope.txt index 898f823f24..c0b073a439 100644 --- a/test/prism/snapshots/seattlerb/stabby_proc_scope.txt +++ b/test/prism/snapshots/seattlerb/stabby_proc_scope.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,11)) + ├── flags: newline ├── locals: [:a, :b] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,9)-(1,10) = "{" ├── closing_loc: (1,10)-(1,11) = "}" ├── parameters: │ @ BlockParametersNode (location: (1,2)-(1,8)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,3)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/seattlerb/str_backslashes.txt b/test/prism/snapshots/seattlerb/str_backslashes.txt index ec41a89c38..e73793beb8 100644 --- a/test/prism/snapshots/seattlerb/str_backslashes.txt +++ b/test/prism/snapshots/seattlerb/str_backslashes.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,204)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,204)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,204)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :x diff --git a/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt index 620b43f631..fa7444d7e7 100644 --- a/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_double_double_escaped_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -23,7 +25,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (1,8)-(1,9)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b diff --git a/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt index 2aee91b75c..c91c913919 100644 --- a/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_double_escaped_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -23,7 +25,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (1,7)-(1,8)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b diff --git a/test/prism/snapshots/seattlerb/str_double_newline.txt b/test/prism/snapshots/seattlerb/str_double_newline.txt index eb249cde8a..7809a9aaff 100644 --- a/test/prism/snapshots/seattlerb/str_double_newline.txt +++ b/test/prism/snapshots/seattlerb/str_double_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(2,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -23,7 +25,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (2,2)-(2,3)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b diff --git a/test/prism/snapshots/seattlerb/str_evstr.txt b/test/prism/snapshots/seattlerb/str_evstr.txt index 7010ad0a68..98b65f00f8 100644 --- a/test/prism/snapshots/seattlerb/str_evstr.txt +++ b/test/prism/snapshots/seattlerb/str_evstr.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 2) │ ├── @ StringNode (location: (1,1)-(1,3)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,1)-(1,3) = "a " │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a " │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) + │ ├── flags: ∅ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ ├── statements: │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/str_evstr_escape.txt b/test/prism/snapshots/seattlerb/str_evstr_escape.txt index 3867574c7c..f6559cc822 100644 --- a/test/prism/snapshots/seattlerb/str_evstr_escape.txt +++ b/test/prism/snapshots/seattlerb/str_evstr_escape.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,16)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 3) │ ├── @ StringNode (location: (1,1)-(1,3)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,1)-(1,3) = "a " │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a " │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -30,7 +34,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (1,6)-(1,7) = "}" │ └── @ StringNode (location: (1,7)-(1,15)) - │ ├── flags: forced_utf8_encoding, frozen + │ ├── flags: static_literal, forced_utf8_encoding, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,7)-(1,15) = "\\302\\275" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/str_heredoc_interp.txt b/test/prism/snapshots/seattlerb/str_heredoc_interp.txt index bb7bbba259..1261eec6c3 100644 --- a/test/prism/snapshots/seattlerb/str_heredoc_interp.txt +++ b/test/prism/snapshots/seattlerb/str_heredoc_interp.txt @@ -1,16 +1,20 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,4) = "<<\"\"" ├── parts: (length: 2) │ ├── @ EmbeddedStatementsNode (location: (2,0)-(2,4)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (2,0)-(2,2) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (2,2)-(2,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -24,7 +28,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (2,3)-(2,4) = "}" │ └── @ StringNode (location: (2,4)-(4,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (2,4)-(4,0) = "\nblah2\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt b/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt index 5a2f435e0e..af2fd61644 100644 --- a/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt +++ b/test/prism/snapshots/seattlerb/str_interp_ternary_or_label.txt @@ -1,18 +1,23 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,23)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 1) │ └── @ EmbeddedStatementsNode (location: (1,1)-(1,22)) + │ ├── flags: ∅ │ ├── opening_loc: (1,1)-(1,3) = "\#{" │ ├── statements: │ │ @ StatementsNode (location: (1,3)-(1,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IfNode (location: (1,3)-(1,21)) + │ │ ├── flags: ∅ │ │ ├── if_keyword_loc: ∅ │ │ ├── predicate: │ │ │ @ CallNode (location: (1,3)-(1,7)) @@ -38,9 +43,10 @@ │ │ ├── then_keyword_loc: (1,8)-(1,9) = "?" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,10)-(1,17)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,10)-(1,17)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (1,10)-(1,14)) │ │ │ │ ├── flags: ∅ @@ -89,12 +95,14 @@ │ │ │ └── block: ∅ │ │ ├── consequent: │ │ │ @ ElseNode (location: (1,17)-(1,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── else_keyword_loc: (1,17)-(1,18) = ":" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,19)-(1,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ StringNode (location: (1,19)-(1,21)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── opening_loc: (1,19)-(1,20) = "\"" │ │ │ │ ├── content_loc: (1,20)-(1,20) = "" │ │ │ │ ├── closing_loc: (1,20)-(1,21) = "\"" diff --git a/test/prism/snapshots/seattlerb/str_lit_concat_bad_encodings.txt b/test/prism/snapshots/seattlerb/str_lit_concat_bad_encodings.txt index 0066f66e84..4a80bc3305 100644 --- a/test/prism/snapshots/seattlerb/str_lit_concat_bad_encodings.txt +++ b/test/prism/snapshots/seattlerb/str_lit_concat_bad_encodings.txt @@ -1,20 +1,22 @@ @ ProgramNode (location: (1,0)-(2,66)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,66)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(2,66)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── opening_loc: ∅ ├── parts: (length: 2) │ ├── @ StringNode (location: (1,0)-(1,62)) - │ │ ├── flags: forced_utf8_encoding, frozen + │ │ ├── flags: static_literal, forced_utf8_encoding, frozen │ │ ├── opening_loc: (1,0)-(1,1) = "\"" │ │ ├── content_loc: (1,1)-(1,61) = "\\xE3\\xD3\\x8B\\xE3\\x83\\xBC\\x83\\xE3\\x83\\xE3\\x82\\xB3\\xA3\\x82\\x99" │ │ ├── closing_loc: (1,61)-(1,62) = "\"" │ │ └── unescaped: "\xE3Ӌー\x83\xE3\x83コ\xA3\x82\x99" │ └── @ StringNode (location: (2,8)-(2,66)) - │ ├── flags: forced_utf8_encoding, frozen + │ ├── flags: static_literal, forced_utf8_encoding, frozen │ ├── opening_loc: (2,8)-(2,9) = "\"" │ ├── content_loc: (2,9)-(2,65) = "\\xE3\\x83\\xB3\\xE3\\x83\\x8F\\xE3\\x82\\x9A\\xC3\\xBD;foo@bar.com" │ ├── closing_loc: (2,65)-(2,66) = "\"" diff --git a/test/prism/snapshots/seattlerb/str_newline_hash_line_number.txt b/test/prism/snapshots/seattlerb/str_newline_hash_line_number.txt index d55d965068..1ac2e04c60 100644 --- a/test/prism/snapshots/seattlerb/str_newline_hash_line_number.txt +++ b/test/prism/snapshots/seattlerb/str_newline_hash_line_number.txt @@ -1,14 +1,16 @@ @ ProgramNode (location: (1,0)-(2,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ StringNode (location: (1,0)-(1,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── content_loc: (1,1)-(1,10) = "\\n\\n\\n\\n#" │ ├── closing_loc: (1,10)-(1,11) = "\"" │ └── unescaped: "\n\n\n\n#" └── @ IntegerNode (location: (2,0)-(2,1)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt b/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt index 1db0e76270..76a0f5a5cf 100644 --- a/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt +++ b/test/prism/snapshots/seattlerb/str_pct_Q_nested.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,26)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,26)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,26)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,3) = "%Q[" ├── parts: (length: 3) │ ├── @ StringNode (location: (1,3)-(1,11)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,3)-(1,11) = "before [" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "before [" │ ├── @ EmbeddedStatementsNode (location: (1,11)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,11)-(1,13) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,13)-(1,17)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,13)-(1,17)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -30,7 +34,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (1,17)-(1,18) = "}" │ └── @ StringNode (location: (1,18)-(1,25)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,18)-(1,25) = "] after" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/str_pct_nested_nested.txt b/test/prism/snapshots/seattlerb/str_pct_nested_nested.txt index 22c3031832..02125b374d 100644 --- a/test/prism/snapshots/seattlerb/str_pct_nested_nested.txt +++ b/test/prism/snapshots/seattlerb/str_pct_nested_nested.txt @@ -1,40 +1,46 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,20)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,2) = "%{" ├── parts: (length: 3) │ ├── @ StringNode (location: (1,2)-(1,5)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,2)-(1,5) = " { " │ │ ├── closing_loc: ∅ │ │ └── unescaped: " { " │ ├── @ EmbeddedStatementsNode (location: (1,5)-(1,16)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,5)-(1,7) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,8)-(1,14)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ InterpolatedStringNode (location: (1,8)-(1,14)) │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,8)-(1,9) = "\"" │ │ │ ├── parts: (length: 1) │ │ │ │ └── @ EmbeddedStatementsNode (location: (1,9)-(1,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (1,9)-(1,11) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (1,11)-(1,12)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (1,11)-(1,12)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── closing_loc: (1,12)-(1,13) = "}" │ │ │ └── closing_loc: (1,13)-(1,14) = "\"" │ │ └── closing_loc: (1,15)-(1,16) = "}" │ └── @ StringNode (location: (1,16)-(1,19)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,16)-(1,19) = " } " │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/str_pct_q.txt b/test/prism/snapshots/seattlerb/str_pct_q.txt index c4dd5bacae..ddcbb1ac56 100644 --- a/test/prism/snapshots/seattlerb/str_pct_q.txt +++ b/test/prism/snapshots/seattlerb/str_pct_q.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,3) = "%q{" ├── content_loc: (1,3)-(1,8) = "a b c" ├── closing_loc: (1,8)-(1,9) = "}" diff --git a/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt index 8fa8886029..2187edc92d 100644 --- a/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_single_double_escaped_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -23,7 +25,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (1,8)-(1,9)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b diff --git a/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt b/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt index c840c7688b..36028e09d0 100644 --- a/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt +++ b/test/prism/snapshots/seattlerb/str_single_escaped_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -23,7 +25,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (1,7)-(1,8)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b diff --git a/test/prism/snapshots/seattlerb/str_single_newline.txt b/test/prism/snapshots/seattlerb/str_single_newline.txt index 15b0f2ff72..b53d1ed81a 100644 --- a/test/prism/snapshots/seattlerb/str_single_newline.txt +++ b/test/prism/snapshots/seattlerb/str_single_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(2,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -23,7 +25,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (2,2)-(2,3)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :b diff --git a/test/prism/snapshots/seattlerb/str_str.txt b/test/prism/snapshots/seattlerb/str_str.txt index 97031c8a65..37a57d2fd6 100644 --- a/test/prism/snapshots/seattlerb/str_str.txt +++ b/test/prism/snapshots/seattlerb/str_str.txt @@ -1,25 +1,29 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,10)) - ├── flags: mutable + ├── flags: newline, static_literal, mutable ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 2) │ ├── @ StringNode (location: (1,1)-(1,3)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,1)-(1,3) = "a " │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a " │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,9)) + │ ├── flags: ∅ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ ├── statements: │ │ @ StatementsNode (location: (1,5)-(1,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ StringNode (location: (1,5)-(1,8)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (1,5)-(1,6) = "'" │ │ ├── content_loc: (1,6)-(1,7) = "b" │ │ ├── closing_loc: (1,7)-(1,8) = "'" diff --git a/test/prism/snapshots/seattlerb/str_str_str.txt b/test/prism/snapshots/seattlerb/str_str_str.txt index b592d380ef..ed74c1a954 100644 --- a/test/prism/snapshots/seattlerb/str_str_str.txt +++ b/test/prism/snapshots/seattlerb/str_str_str.txt @@ -1,32 +1,36 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,12)) - ├── flags: mutable + ├── flags: newline, static_literal, mutable ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 3) │ ├── @ StringNode (location: (1,1)-(1,3)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,1)-(1,3) = "a " │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a " │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,5)-(1,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ StringNode (location: (1,5)-(1,8)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (1,5)-(1,6) = "'" │ │ │ ├── content_loc: (1,6)-(1,7) = "b" │ │ │ ├── closing_loc: (1,7)-(1,8) = "'" │ │ │ └── unescaped: "b" │ │ └── closing_loc: (1,8)-(1,9) = "}" │ └── @ StringNode (location: (1,9)-(1,11)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,9)-(1,11) = " c" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/super_arg.txt b/test/prism/snapshots/seattlerb/super_arg.txt index 61b5f0b631..76acc38ce7 100644 --- a/test/prism/snapshots/seattlerb/super_arg.txt +++ b/test/prism/snapshots/seattlerb/super_arg.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ SuperNode (location: (1,0)-(1,8)) + ├── flags: newline ├── keyword_loc: (1,0)-(1,5) = "super" ├── lparen_loc: ∅ ├── arguments: @@ -11,7 +14,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,6)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 42 ├── rparen_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/symbol_empty.txt b/test/prism/snapshots/seattlerb/symbol_empty.txt index e95543e925..945a0e3a51 100644 --- a/test/prism/snapshots/seattlerb/symbol_empty.txt +++ b/test/prism/snapshots/seattlerb/symbol_empty.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ SymbolNode (location: (1,0)-(1,3)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (1,0)-(1,2) = ":'" ├── value_loc: (1,2)-(1,2) = "" ├── closing_loc: (1,2)-(1,3) = "'" diff --git a/test/prism/snapshots/seattlerb/symbol_list.txt b/test/prism/snapshots/seattlerb/symbol_list.txt index 6750160d50..6ee21564bb 100644 --- a/test/prism/snapshots/seattlerb/symbol_list.txt +++ b/test/prism/snapshots/seattlerb/symbol_list.txt @@ -1,18 +1,23 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,13)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 2) │ ├── @ InterpolatedSymbolNode (location: (1,3)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: ∅ │ │ ├── parts: (length: 1) │ │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (1,5)-(1,6)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -27,12 +32,15 @@ │ │ │ └── closing_loc: (1,6)-(1,7) = "}" │ │ └── closing_loc: ∅ │ └── @ InterpolatedSymbolNode (location: (1,8)-(1,12)) + │ ├── flags: ∅ │ ├── opening_loc: ∅ │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (1,8)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,8)-(1,10) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,10)-(1,11)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,10)-(1,11)) │ │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/symbols.txt b/test/prism/snapshots/seattlerb/symbols.txt index 30cf57c528..c7292c201f 100644 --- a/test/prism/snapshots/seattlerb/symbols.txt +++ b/test/prism/snapshots/seattlerb/symbols.txt @@ -1,25 +1,27 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 3) │ ├── @ SymbolNode (location: (1,3)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,3)-(1,4) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── @ SymbolNode (location: (1,5)-(1,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,5)-(1,6) = "b" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ └── @ SymbolNode (location: (1,7)-(1,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (1,7)-(1,8) = "c" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/symbols_empty.txt b/test/prism/snapshots/seattlerb/symbols_empty.txt index dc743e2be5..955a6eda72 100644 --- a/test/prism/snapshots/seattlerb/symbols_empty.txt +++ b/test/prism/snapshots/seattlerb/symbols_empty.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%i(" └── closing_loc: (1,3)-(1,4) = ")" diff --git a/test/prism/snapshots/seattlerb/symbols_empty_space.txt b/test/prism/snapshots/seattlerb/symbols_empty_space.txt index ea7ada9446..291a775b35 100644 --- a/test/prism/snapshots/seattlerb/symbols_empty_space.txt +++ b/test/prism/snapshots/seattlerb/symbols_empty_space.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,5)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 0) ├── opening_loc: (1,0)-(1,3) = "%i(" └── closing_loc: (1,4)-(1,5) = ")" diff --git a/test/prism/snapshots/seattlerb/symbols_interp.txt b/test/prism/snapshots/seattlerb/symbols_interp.txt index 2ad3cc502d..373f8363cd 100644 --- a/test/prism/snapshots/seattlerb/symbols_interp.txt +++ b/test/prism/snapshots/seattlerb/symbols_interp.txt @@ -1,25 +1,27 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,15)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 3) │ ├── @ SymbolNode (location: (1,3)-(1,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,3)-(1,4) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ ├── @ SymbolNode (location: (1,5)-(1,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,5)-(1,12) = "b\#{1+1}" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\#{1+1}" │ └── @ SymbolNode (location: (1,13)-(1,14)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (1,13)-(1,14) = "c" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/thingy.txt b/test/prism/snapshots/seattlerb/thingy.txt index 4dd2ac44a6..edbcd8e25b 100644 --- a/test/prism/snapshots/seattlerb/thingy.txt +++ b/test/prism/snapshots/seattlerb/thingy.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,7)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -25,12 +27,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,3)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ ├── closing_loc: (1,5)-(1,6) = ")" │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,7)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (3,0)-(3,1)) │ ├── flags: variable_call, ignore_visibility @@ -51,7 +53,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (3,4)-(3,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 42 ├── closing_loc: (3,6)-(3,7) = ")" └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/uminus_float.txt b/test/prism/snapshots/seattlerb/uminus_float.txt index 0578dbbd68..dfaaf06827 100644 --- a/test/prism/snapshots/seattlerb/uminus_float.txt +++ b/test/prism/snapshots/seattlerb/uminus_float.txt @@ -1,7 +1,10 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ FloatNode (location: (1,0)-(1,4)) + ├── flags: newline, static_literal └── value: -0.0 diff --git a/test/prism/snapshots/seattlerb/unary_minus.txt b/test/prism/snapshots/seattlerb/unary_minus.txt index 79889bffb0..d10ff3a89e 100644 --- a/test/prism/snapshots/seattlerb/unary_minus.txt +++ b/test/prism/snapshots/seattlerb/unary_minus.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,2)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,2)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,1)-(1,2)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/unary_plus.txt b/test/prism/snapshots/seattlerb/unary_plus.txt index b570cbf73b..11cb2ebabd 100644 --- a/test/prism/snapshots/seattlerb/unary_plus.txt +++ b/test/prism/snapshots/seattlerb/unary_plus.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,2)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,2)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,1)-(1,2)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt b/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt index 4deb857536..3431fd6cfe 100644 --- a/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt +++ b/test/prism/snapshots/seattlerb/unary_plus_on_literal.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,3)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ SymbolNode (location: (1,1)-(1,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,1)-(1,2) = ":" │ ├── value_loc: (1,2)-(1,3) = "a" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/seattlerb/unary_tilde.txt b/test/prism/snapshots/seattlerb/unary_tilde.txt index 5fd1a5d00e..52a4fa8630 100644 --- a/test/prism/snapshots/seattlerb/unary_tilde.txt +++ b/test/prism/snapshots/seattlerb/unary_tilde.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,2)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,2)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,1)-(1,2)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/seattlerb/utf8_bom.txt b/test/prism/snapshots/seattlerb/utf8_bom.txt index 9f0eb83b05..c26bb1741b 100644 --- a/test/prism/snapshots/seattlerb/utf8_bom.txt +++ b/test/prism/snapshots/seattlerb/utf8_bom.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (2,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (2,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (2,0)-(2,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -15,7 +17,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (2,2)-(2,3)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 0 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/seattlerb/when_splat.txt b/test/prism/snapshots/seattlerb/when_splat.txt index 19e70019c0..60b504dedb 100644 --- a/test/prism/snapshots/seattlerb/when_splat.txt +++ b/test/prism/snapshots/seattlerb/when_splat.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,25)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,25)) + ├── flags: newline ├── predicate: │ @ CallNode (location: (1,5)-(1,6)) │ ├── flags: variable_call, ignore_visibility @@ -17,9 +20,11 @@ │ └── block: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,8)-(1,20)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,8)-(1,12) = "when" │ ├── conditions: (length: 1) │ │ └── @ SplatNode (location: (1,13)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,13)-(1,14) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,14)-(1,15)) diff --git a/test/prism/snapshots/seattlerb/words_interp.txt b/test/prism/snapshots/seattlerb/words_interp.txt index 1175a6f476..4dc5944538 100644 --- a/test/prism/snapshots/seattlerb/words_interp.txt +++ b/test/prism/snapshots/seattlerb/words_interp.txt @@ -1,26 +1,30 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 1) │ └── @ InterpolatedStringNode (location: (1,3)-(1,8)) │ ├── flags: ∅ │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (1,6)-(1,7) = "}" │ │ └── @ StringNode (location: (1,7)-(1,8)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,7)-(1,8) = "b" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/single_method_call_with_bang.txt b/test/prism/snapshots/single_method_call_with_bang.txt index 4c68e0adac..8baca8888d 100644 --- a/test/prism/snapshots/single_method_call_with_bang.txt +++ b/test/prism/snapshots/single_method_call_with_bang.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo! diff --git a/test/prism/snapshots/single_quote_heredocs.txt b/test/prism/snapshots/single_quote_heredocs.txt index 429c9daf11..0221f33e34 100644 --- a/test/prism/snapshots/single_quote_heredocs.txt +++ b/test/prism/snapshots/single_quote_heredocs.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,8) = "<<-'EOS'" ├── content_loc: (2,0)-(3,0) = " cd L:\\Work\\MG3710IQPro\\Develop\n" ├── closing_loc: (3,0)-(4,0) = "EOS\n" diff --git a/test/prism/snapshots/spanning_heredoc.txt b/test/prism/snapshots/spanning_heredoc.txt index c89daaed09..f880f64434 100644 --- a/test/prism/snapshots/spanning_heredoc.txt +++ b/test/prism/snapshots/spanning_heredoc.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (4,0)-(63,2)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (4,0)-(63,2)) + ├── flags: ∅ └── body: (length: 14) ├── @ CallNode (location: (4,0)-(7,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -32,17 +34,17 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ InterpolatedRegularExpressionNode (location: (4,13)-(7,2)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── opening_loc: (4,13)-(4,14) = "/" │ │ │ │ ├── parts: (length: 2) │ │ │ │ │ ├── @ StringNode (location: (4,14)-(4,16)) - │ │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── content_loc: (4,14)-(4,16) = "b\\" │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ └── unescaped: "b" │ │ │ │ │ └── @ StringNode (location: (7,0)-(7,1)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (7,0)-(7,1) = "b" │ │ │ │ │ ├── closing_loc: ∅ @@ -59,7 +61,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (10,0)-(13,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -76,17 +78,17 @@ │ │ │ ├── closing_loc: (12,0)-(13,0) = "A\n" │ │ │ └── unescaped: "c\n" │ │ └── @ InterpolatedStringNode (location: (10,9)-(13,2)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (10,9)-(10,10) = "\"" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (10,10)-(10,12)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (10,10)-(10,12) = "d\\" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "d" │ │ │ └── @ StringNode (location: (13,0)-(13,1)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (13,0)-(13,1) = "d" │ │ │ ├── closing_loc: ∅ @@ -95,7 +97,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (16,0)-(19,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -112,17 +114,17 @@ │ │ │ ├── closing_loc: (18,0)-(19,0) = "A\n" │ │ │ └── unescaped: "e\n" │ │ └── @ InterpolatedStringNode (location: (16,9)-(19,2)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (16,9)-(16,12) = "%q[" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (16,12)-(16,14)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (16,12)-(16,14) = "f\\" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "f\\\n" │ │ │ └── @ StringNode (location: (19,0)-(19,1)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (19,0)-(19,1) = "f" │ │ │ ├── closing_loc: ∅ @@ -131,7 +133,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (22,0)-(25,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -148,17 +150,17 @@ │ │ │ ├── closing_loc: (24,0)-(25,0) = "A\n" │ │ │ └── unescaped: "g\n" │ │ └── @ InterpolatedStringNode (location: (22,9)-(25,2)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (22,9)-(22,12) = "%Q[" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (22,12)-(22,14)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (22,12)-(22,14) = "h\\" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "h" │ │ │ └── @ StringNode (location: (25,0)-(25,1)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (25,0)-(25,1) = "h" │ │ │ ├── closing_loc: ∅ @@ -167,7 +169,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (28,0)-(31,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -203,7 +205,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (35,0)-(38,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -220,20 +222,20 @@ │ │ │ ├── closing_loc: (37,0)-(38,0) = "A\n" │ │ │ └── unescaped: "k\n" │ │ └── @ ArrayNode (location: (35,9)-(38,2)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 1) │ │ │ └── @ InterpolatedStringNode (location: (35,12)-(38,1)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: ∅ │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ StringNode (location: (35,12)-(35,14)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (35,12)-(35,14) = "l\\" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "l\n" │ │ │ │ └── @ StringNode (location: (38,0)-(38,1)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (38,0)-(38,1) = "l" │ │ │ │ ├── closing_loc: ∅ @@ -244,7 +246,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (41,0)-(44,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -261,16 +263,16 @@ │ │ │ ├── closing_loc: (43,0)-(44,0) = "A\n" │ │ │ └── unescaped: "m\n" │ │ └── @ ArrayNode (location: (41,9)-(44,2)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ SymbolNode (location: (41,12)-(41,14)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (41,12)-(41,14) = "n\\" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "n\n" │ │ │ └── @ SymbolNode (location: (44,0)-(44,1)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (44,0)-(44,1) = "n" │ │ │ ├── closing_loc: ∅ @@ -280,7 +282,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (48,0)-(51,2)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :pp @@ -297,19 +299,20 @@ │ │ │ ├── closing_loc: (50,0)-(51,0) = "A\n" │ │ │ └── unescaped: "o\n" │ │ └── @ ArrayNode (location: (48,9)-(51,2)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 1) │ │ │ └── @ InterpolatedSymbolNode (location: (48,12)-(48,14)) + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: ∅ │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ StringNode (location: (48,12)-(48,14)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (48,12)-(48,14) = "p\\" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "p\n" │ │ │ │ └── @ StringNode (location: (48,12)-(48,14)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (48,12)-(48,14) = "p\\" │ │ │ │ ├── closing_loc: ∅ @@ -320,28 +323,29 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ StringNode (location: (53,0)-(53,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (53,0)-(53,3) = "<<A" │ ├── content_loc: (54,0)-(54,0) = "" │ ├── closing_loc: (54,0)-(55,0) = "A\n" │ └── unescaped: "" ├── @ MatchWriteNode (location: (53,5)-(55,13)) + │ ├── flags: newline │ ├── call: │ │ @ CallNode (location: (53,5)-(55,13)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ InterpolatedRegularExpressionNode (location: (53,5)-(55,7)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (53,5)-(53,6) = "/" │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ StringNode (location: (53,6)-(53,7)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (53,6)-(53,7) = "\\" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "" │ │ │ │ └── @ StringNode (location: (55,0)-(55,6)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (55,0)-(55,6) = "(?<a>)" │ │ │ │ ├── closing_loc: ∅ @@ -365,47 +369,50 @@ │ │ └── block: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (53,5)-(55,7)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── @ StringNode (location: (57,0)-(57,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (57,0)-(57,3) = "<<A" │ ├── content_loc: (58,0)-(58,0) = "" │ ├── closing_loc: (58,0)-(59,0) = "A\n" │ └── unescaped: "" ├── @ InterpolatedSymbolNode (location: (57,5)-(59,2)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (57,5)-(57,7) = ":'" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (57,7)-(58,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (57,7)-(58,0) = "a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── @ StringNode (location: (59,0)-(59,1)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (59,0)-(59,1) = "b" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ └── closing_loc: (59,1)-(59,2) = "'" ├── @ StringNode (location: (61,0)-(61,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (61,0)-(61,3) = "<<A" │ ├── content_loc: (62,0)-(62,0) = "" │ ├── closing_loc: (62,0)-(63,0) = "A\n" │ └── unescaped: "" └── @ InterpolatedSymbolNode (location: (61,5)-(63,2)) + ├── flags: newline, static_literal ├── opening_loc: (61,5)-(61,7) = ":\"" ├── parts: (length: 2) │ ├── @ StringNode (location: (61,7)-(62,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (61,7)-(62,0) = "a\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\n" │ └── @ StringNode (location: (63,0)-(63,1)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (63,0)-(63,1) = "b" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/spanning_heredoc_newlines.txt b/test/prism/snapshots/spanning_heredoc_newlines.txt index e3609ddbba..ce57ca9662 100644 --- a/test/prism/snapshots/spanning_heredoc_newlines.txt +++ b/test/prism/snapshots/spanning_heredoc_newlines.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(24,0)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(24,0)) + ├── flags: ∅ └── body: (length: 6) ├── @ CallNode (location: (1,0)-(4,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ StringNode (location: (1,0)-(1,3)) │ │ ├── flags: ∅ @@ -29,7 +31,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(8,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ StringNode (location: (5,0)-(5,3)) │ │ ├── flags: ∅ @@ -46,7 +48,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ RegularExpressionNode (location: (5,4)-(8,0)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,4)-(6,0) = "%r\n" │ │ ├── content_loc: (6,0)-(6,0) = "" │ │ ├── closing_loc: (7,0)-(8,0) = "\n" @@ -54,7 +56,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (9,0)-(12,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ StringNode (location: (9,0)-(9,3)) │ │ ├── flags: ∅ @@ -79,7 +81,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (13,0)-(16,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ StringNode (location: (13,0)-(13,3)) │ │ ├── flags: ∅ @@ -104,7 +106,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (17,0)-(20,0)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ StringNode (location: (17,0)-(17,3)) │ │ ├── flags: ∅ @@ -121,7 +123,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (17,4)-(20,0)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (17,4)-(18,0) = "%s\n" │ │ ├── value_loc: (18,0)-(18,0) = "" │ │ ├── closing_loc: (19,0)-(20,0) = "\n" @@ -129,7 +131,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (21,0)-(24,0)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ StringNode (location: (21,0)-(21,3)) │ ├── flags: ∅ diff --git a/test/prism/snapshots/strings.txt b/test/prism/snapshots/strings.txt index 632d2ac3b5..eeef15a6ff 100644 --- a/test/prism/snapshots/strings.txt +++ b/test/prism/snapshots/strings.txt @@ -1,127 +1,133 @@ @ ProgramNode (location: (1,0)-(105,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(105,4)) + ├── flags: ∅ └── body: (length: 50) ├── @ StringNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,2) = "%%" │ ├── content_loc: (1,2)-(1,5) = "abc" │ ├── closing_loc: (1,5)-(1,6) = "%" │ └── unescaped: "abc" ├── @ StringNode (location: (3,0)-(3,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (3,0)-(3,2) = "%^" │ ├── content_loc: (3,2)-(3,5) = "abc" │ ├── closing_loc: (3,5)-(3,6) = "^" │ └── unescaped: "abc" ├── @ StringNode (location: (5,0)-(5,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (5,0)-(5,2) = "%&" │ ├── content_loc: (5,2)-(5,5) = "abc" │ ├── closing_loc: (5,5)-(5,6) = "&" │ └── unescaped: "abc" ├── @ StringNode (location: (7,0)-(7,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (7,0)-(7,2) = "%*" │ ├── content_loc: (7,2)-(7,5) = "abc" │ ├── closing_loc: (7,5)-(7,6) = "*" │ └── unescaped: "abc" ├── @ StringNode (location: (9,0)-(9,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (9,0)-(9,2) = "%_" │ ├── content_loc: (9,2)-(9,5) = "abc" │ ├── closing_loc: (9,5)-(9,6) = "_" │ └── unescaped: "abc" ├── @ StringNode (location: (11,0)-(11,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (11,0)-(11,2) = "%+" │ ├── content_loc: (11,2)-(11,5) = "abc" │ ├── closing_loc: (11,5)-(11,6) = "+" │ └── unescaped: "abc" ├── @ StringNode (location: (13,0)-(13,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (13,0)-(13,2) = "%-" │ ├── content_loc: (13,2)-(13,5) = "abc" │ ├── closing_loc: (13,5)-(13,6) = "-" │ └── unescaped: "abc" ├── @ StringNode (location: (15,0)-(15,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (15,0)-(15,2) = "%:" │ ├── content_loc: (15,2)-(15,5) = "abc" │ ├── closing_loc: (15,5)-(15,6) = ":" │ └── unescaped: "abc" ├── @ StringNode (location: (17,0)-(17,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (17,0)-(17,2) = "%;" │ ├── content_loc: (17,2)-(17,5) = "abc" │ ├── closing_loc: (17,5)-(17,6) = ";" │ └── unescaped: "abc" ├── @ StringNode (location: (19,0)-(19,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (19,0)-(19,2) = "%'" │ ├── content_loc: (19,2)-(19,5) = "abc" │ ├── closing_loc: (19,5)-(19,6) = "'" │ └── unescaped: "abc" ├── @ StringNode (location: (21,0)-(21,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (21,0)-(21,2) = "%~" │ ├── content_loc: (21,2)-(21,5) = "abc" │ ├── closing_loc: (21,5)-(21,6) = "~" │ └── unescaped: "abc" ├── @ StringNode (location: (23,0)-(23,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (23,0)-(23,2) = "%?" │ ├── content_loc: (23,2)-(23,5) = "abc" │ ├── closing_loc: (23,5)-(23,6) = "?" │ └── unescaped: "abc" ├── @ ArrayNode (location: (25,0)-(25,8)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (25,0)-(25,3) = "%w{" │ └── closing_loc: (25,7)-(25,8) = "}" ├── @ StringNode (location: (27,0)-(27,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (27,0)-(27,2) = "%/" │ ├── content_loc: (27,2)-(27,5) = "abc" │ ├── closing_loc: (27,5)-(27,6) = "/" │ └── unescaped: "abc" ├── @ StringNode (location: (29,0)-(29,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (29,0)-(29,2) = "%`" │ ├── content_loc: (29,2)-(29,5) = "abc" │ ├── closing_loc: (29,5)-(29,6) = "`" │ └── unescaped: "abc" ├── @ InterpolatedStringNode (location: (31,0)-(31,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (31,0)-(31,1) = "\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedVariableNode (location: (31,1)-(31,7)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (31,1)-(31,2) = "#" │ │ └── variable: │ │ @ ClassVariableReadNode (location: (31,2)-(31,7)) + │ │ ├── flags: ∅ │ │ └── name: :@@foo │ └── closing_loc: (31,7)-(31,8) = "\"" ├── @ StringNode (location: (33,0)-(33,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (33,0)-(33,2) = "%\\" │ ├── content_loc: (33,2)-(33,5) = "abc" │ ├── closing_loc: (33,5)-(33,6) = "\\" │ └── unescaped: "abc" ├── @ InterpolatedStringNode (location: (35,0)-(35,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (35,0)-(35,2) = "%{" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (35,2)-(35,6)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (35,2)-(35,6) = "aaa " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "aaa " │ │ ├── @ EmbeddedStatementsNode (location: (35,6)-(35,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (35,6)-(35,8) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (35,8)-(35,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (35,8)-(35,11)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -135,20 +141,20 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (35,11)-(35,12) = "}" │ │ └── @ StringNode (location: (35,12)-(35,16)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (35,12)-(35,16) = " ccc" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " ccc" │ └── closing_loc: (35,16)-(35,17) = "}" ├── @ StringNode (location: (37,0)-(37,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (37,0)-(37,2) = "%[" │ ├── content_loc: (37,2)-(37,7) = "foo[]" │ ├── closing_loc: (37,7)-(37,8) = "]" │ └── unescaped: "foo[]" ├── @ CallNode (location: (39,0)-(41,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ StringNode (location: (39,0)-(39,5)) │ │ ├── flags: ∅ @@ -173,55 +179,57 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ StringNode (location: (43,0)-(43,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (43,0)-(43,3) = "%q{" │ ├── content_loc: (43,3)-(43,6) = "abc" │ ├── closing_loc: (43,6)-(43,7) = "}" │ └── unescaped: "abc" ├── @ SymbolNode (location: (45,0)-(45,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (45,0)-(45,3) = "%s[" │ ├── value_loc: (45,3)-(45,6) = "abc" │ ├── closing_loc: (45,6)-(45,7) = "]" │ └── unescaped: "abc" ├── @ StringNode (location: (47,0)-(47,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (47,0)-(47,2) = "%{" │ ├── content_loc: (47,2)-(47,5) = "abc" │ ├── closing_loc: (47,5)-(47,6) = "}" │ └── unescaped: "abc" ├── @ StringNode (location: (49,0)-(49,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (49,0)-(49,1) = "'" │ ├── content_loc: (49,1)-(49,1) = "" │ ├── closing_loc: (49,1)-(49,2) = "'" │ └── unescaped: "" ├── @ StringNode (location: (51,0)-(51,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (51,0)-(51,1) = "\"" │ ├── content_loc: (51,1)-(51,4) = "abc" │ ├── closing_loc: (51,4)-(51,5) = "\"" │ └── unescaped: "abc" ├── @ StringNode (location: (53,0)-(53,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (53,0)-(53,1) = "\"" │ ├── content_loc: (53,1)-(53,6) = "\#@---" │ ├── closing_loc: (53,6)-(53,7) = "\"" │ └── unescaped: "\#@---" ├── @ InterpolatedStringNode (location: (55,0)-(55,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (55,0)-(55,1) = "\"" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (55,1)-(55,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (55,1)-(55,5) = "aaa " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "aaa " │ │ ├── @ EmbeddedStatementsNode (location: (55,5)-(55,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (55,5)-(55,7) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (55,7)-(55,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (55,7)-(55,10)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -235,20 +243,20 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (55,10)-(55,11) = "}" │ │ └── @ StringNode (location: (55,11)-(55,15)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (55,11)-(55,15) = " ccc" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " ccc" │ └── closing_loc: (55,15)-(55,16) = "\"" ├── @ StringNode (location: (57,0)-(57,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (57,0)-(57,1) = "'" │ ├── content_loc: (57,1)-(57,4) = "abc" │ ├── closing_loc: (57,4)-(57,5) = "'" │ └── unescaped: "abc" ├── @ ArrayNode (location: (59,0)-(59,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (59,3)-(59,4)) │ │ │ ├── flags: ∅ @@ -271,7 +279,7 @@ │ ├── opening_loc: (59,0)-(59,3) = "%w[" │ └── closing_loc: (59,8)-(59,9) = "]" ├── @ ArrayNode (location: (61,0)-(61,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (61,3)-(61,6)) │ │ │ ├── flags: ∅ @@ -294,7 +302,7 @@ │ ├── opening_loc: (61,0)-(61,3) = "%w[" │ └── closing_loc: (61,16)-(61,17) = "]" ├── @ ArrayNode (location: (63,0)-(63,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (63,3)-(63,11)) │ │ │ ├── flags: ∅ @@ -311,7 +319,7 @@ │ ├── opening_loc: (63,0)-(63,3) = "%w[" │ └── closing_loc: (63,17)-(63,18) = "]" ├── @ ArrayNode (location: (65,0)-(65,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (65,3)-(65,11)) │ │ │ ├── flags: ∅ @@ -328,7 +336,7 @@ │ ├── opening_loc: (65,0)-(65,3) = "%w[" │ └── closing_loc: (65,15)-(65,16) = "]" ├── @ ArrayNode (location: (67,0)-(67,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (67,3)-(67,4)) │ │ │ ├── flags: ∅ @@ -341,15 +349,17 @@ │ │ │ ├── opening_loc: ∅ │ │ │ ├── parts: (length: 3) │ │ │ │ ├── @ StringNode (location: (67,5)-(67,6)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (67,5)-(67,6) = "b" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "b" │ │ │ │ ├── @ EmbeddedStatementsNode (location: (67,6)-(67,10)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── opening_loc: (67,6)-(67,8) = "\#{" │ │ │ │ │ ├── statements: │ │ │ │ │ │ @ StatementsNode (location: (67,8)-(67,9)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ CallNode (location: (67,8)-(67,9)) │ │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -363,7 +373,7 @@ │ │ │ │ │ │ └── block: ∅ │ │ │ │ │ └── closing_loc: (67,9)-(67,10) = "}" │ │ │ │ └── @ StringNode (location: (67,10)-(67,11)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (67,10)-(67,11) = "d" │ │ │ │ ├── closing_loc: ∅ @@ -378,7 +388,7 @@ │ ├── opening_loc: (67,0)-(67,3) = "%W[" │ └── closing_loc: (67,13)-(67,14) = "]" ├── @ ArrayNode (location: (69,0)-(69,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (69,3)-(69,4)) │ │ │ ├── flags: ∅ @@ -401,7 +411,7 @@ │ ├── opening_loc: (69,0)-(69,3) = "%W[" │ └── closing_loc: (69,8)-(69,9) = "]" ├── @ ArrayNode (location: (71,0)-(75,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ StringNode (location: (72,2)-(72,3)) │ │ │ ├── flags: ∅ @@ -424,110 +434,114 @@ │ ├── opening_loc: (71,0)-(71,3) = "%w[" │ └── closing_loc: (75,0)-(75,1) = "]" ├── @ StringNode (location: (77,0)-(77,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (77,0)-(77,1) = "'" │ ├── content_loc: (77,1)-(77,14) = "\\' foo \\' bar" │ ├── closing_loc: (77,14)-(77,15) = "'" │ └── unescaped: "' foo ' bar" ├── @ StringNode (location: (79,0)-(79,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (79,0)-(79,1) = "'" │ ├── content_loc: (79,1)-(79,14) = "\\\\ foo \\\\ bar" │ ├── closing_loc: (79,14)-(79,15) = "'" │ └── unescaped: "\\ foo \\ bar" ├── @ InterpolatedStringNode (location: (81,0)-(81,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (81,0)-(81,1) = "\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedVariableNode (location: (81,1)-(81,6)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (81,1)-(81,2) = "#" │ │ └── variable: │ │ @ GlobalVariableReadNode (location: (81,2)-(81,6)) + │ │ ├── flags: ∅ │ │ └── name: :$foo │ └── closing_loc: (81,6)-(81,7) = "\"" ├── @ InterpolatedStringNode (location: (83,0)-(83,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (83,0)-(83,1) = "\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedVariableNode (location: (83,1)-(83,6)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (83,1)-(83,2) = "#" │ │ └── variable: │ │ @ InstanceVariableReadNode (location: (83,2)-(83,6)) + │ │ ├── flags: ∅ │ │ └── name: :@foo │ └── closing_loc: (83,6)-(83,7) = "\"" ├── @ StringNode (location: (85,0)-(85,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (85,0)-(85,1) = "\"" │ ├── content_loc: (85,1)-(85,14) = "\\x7 \\x23 \\x61" │ ├── closing_loc: (85,14)-(85,15) = "\"" │ └── unescaped: "\a # a" ├── @ StringNode (location: (87,0)-(87,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (87,0)-(87,1) = "\"" │ ├── content_loc: (87,1)-(87,12) = "\\7 \\43 \\141" │ ├── closing_loc: (87,12)-(87,13) = "\"" │ └── unescaped: "\a # a" ├── @ StringNode (location: (89,0)-(89,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (89,0)-(89,2) = "%[" │ ├── content_loc: (89,2)-(89,5) = "abc" │ ├── closing_loc: (89,5)-(89,6) = "]" │ └── unescaped: "abc" ├── @ StringNode (location: (91,0)-(91,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (91,0)-(91,2) = "%(" │ ├── content_loc: (91,2)-(91,5) = "abc" │ ├── closing_loc: (91,5)-(91,6) = ")" │ └── unescaped: "abc" ├── @ StringNode (location: (93,0)-(93,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (93,0)-(93,2) = "%@" │ ├── content_loc: (93,2)-(93,5) = "abc" │ ├── closing_loc: (93,5)-(93,6) = "@" │ └── unescaped: "abc" ├── @ StringNode (location: (95,0)-(95,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (95,0)-(95,2) = "%$" │ ├── content_loc: (95,2)-(95,5) = "abc" │ ├── closing_loc: (95,5)-(95,6) = "$" │ └── unescaped: "abc" ├── @ StringNode (location: (97,0)-(97,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (97,0)-(97,1) = "?" │ ├── content_loc: (97,1)-(97,2) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── @ InterpolatedStringNode (location: (99,0)-(99,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (99,0)-(99,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (99,0)-(99,1) = "?" │ │ │ ├── content_loc: (99,1)-(99,2) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ StringNode (location: (99,3)-(99,6)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (99,3)-(99,4) = "\"" │ │ ├── content_loc: (99,4)-(99,5) = "a" │ │ ├── closing_loc: (99,5)-(99,6) = "\"" │ │ └── unescaped: "a" │ └── closing_loc: ∅ ├── @ StringNode (location: (101,0)-(101,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (101,0)-(101,3) = "%Q{" │ ├── content_loc: (101,3)-(101,6) = "abc" │ ├── closing_loc: (101,6)-(101,7) = "}" │ └── unescaped: "abc" ├── @ StringNode (location: (103,0)-(103,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (103,0)-(103,2) = "%^" │ ├── content_loc: (103,2)-(103,4) = "\#$" │ ├── closing_loc: (103,4)-(103,5) = "^" │ └── unescaped: "\#$" └── @ StringNode (location: (105,0)-(105,4)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (105,0)-(105,2) = "%@" ├── content_loc: (105,2)-(105,3) = "#" ├── closing_loc: (105,3)-(105,4) = "@" diff --git a/test/prism/snapshots/super.txt b/test/prism/snapshots/super.txt index 79f9a5d5a5..a6701dd9ba 100644 --- a/test/prism/snapshots/super.txt +++ b/test/prism/snapshots/super.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(17,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(17,21)) + ├── flags: ∅ └── body: (length: 9) ├── @ ForwardingSuperNode (location: (1,0)-(1,5)) + │ ├── flags: newline │ └── block: ∅ ├── @ SuperNode (location: (3,0)-(3,7)) + │ ├── flags: newline │ ├── keyword_loc: (3,0)-(3,5) = "super" │ ├── lparen_loc: (3,5)-(3,6) = "(" │ ├── arguments: ∅ │ ├── rparen_loc: (3,6)-(3,7) = ")" │ └── block: ∅ ├── @ SuperNode (location: (5,0)-(5,8)) + │ ├── flags: newline │ ├── keyword_loc: (5,0)-(5,5) = "super" │ ├── lparen_loc: (5,5)-(5,6) = "(" │ ├── arguments: @@ -19,11 +24,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (5,6)-(5,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── rparen_loc: (5,7)-(5,8) = ")" │ └── block: ∅ ├── @ SuperNode (location: (7,0)-(7,14)) + │ ├── flags: newline │ ├── keyword_loc: (7,0)-(7,5) = "super" │ ├── lparen_loc: (7,5)-(7,6) = "(" │ ├── arguments: @@ -31,55 +37,62 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 3) │ │ ├── @ IntegerNode (location: (7,6)-(7,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── @ IntegerNode (location: (7,9)-(7,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── @ IntegerNode (location: (7,12)-(7,13)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── rparen_loc: (7,13)-(7,14) = ")" │ └── block: ∅ ├── @ SuperNode (location: (9,0)-(9,11)) + │ ├── flags: newline │ ├── keyword_loc: (9,0)-(9,5) = "super" │ ├── lparen_loc: ∅ │ ├── arguments: ∅ │ ├── rparen_loc: ∅ │ └── block: │ @ BlockArgumentNode (location: (9,6)-(9,11)) + │ ├── flags: ∅ │ ├── expression: │ │ @ SymbolNode (location: (9,7)-(9,11)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (9,7)-(9,8) = ":" │ │ ├── value_loc: (9,8)-(9,11) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── operator_loc: (9,6)-(9,7) = "&" ├── @ SuperNode (location: (11,0)-(11,12)) + │ ├── flags: newline │ ├── keyword_loc: (11,0)-(11,5) = "super" │ ├── lparen_loc: (11,5)-(11,6) = "(" │ ├── arguments: ∅ │ ├── rparen_loc: (11,11)-(11,12) = ")" │ └── block: │ @ BlockArgumentNode (location: (11,6)-(11,11)) + │ ├── flags: ∅ │ ├── expression: │ │ @ SymbolNode (location: (11,7)-(11,11)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (11,7)-(11,8) = ":" │ │ ├── value_loc: (11,8)-(11,11) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── operator_loc: (11,6)-(11,7) = "&" ├── @ ForwardingSuperNode (location: (13,0)-(13,8)) + │ ├── flags: newline │ └── block: │ @ BlockNode (location: (13,6)-(13,8)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (13,6)-(13,7) = "{" │ └── closing_loc: (13,7)-(13,8) = "}" ├── @ SuperNode (location: (15,0)-(15,17)) + │ ├── flags: newline │ ├── keyword_loc: (15,0)-(15,5) = "super" │ ├── lparen_loc: (15,5)-(15,6) = "(" │ ├── arguments: @@ -87,23 +100,25 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 3) │ │ ├── @ IntegerNode (location: (15,6)-(15,7)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── @ IntegerNode (location: (15,9)-(15,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── @ IntegerNode (location: (15,12)-(15,13)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── rparen_loc: (15,13)-(15,14) = ")" │ └── block: │ @ BlockNode (location: (15,15)-(15,17)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (15,15)-(15,16) = "{" │ └── closing_loc: (15,16)-(15,17) = "}" └── @ SuperNode (location: (17,0)-(17,21)) + ├── flags: newline ├── keyword_loc: (17,0)-(17,5) = "super" ├── lparen_loc: (17,5)-(17,6) = "(" ├── arguments: @@ -111,20 +126,21 @@ │ ├── flags: ∅ │ └── arguments: (length: 3) │ ├── @ IntegerNode (location: (17,6)-(17,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── @ IntegerNode (location: (17,9)-(17,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── @ IntegerNode (location: (17,12)-(17,13)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 3 ├── rparen_loc: (17,20)-(17,21) = ")" └── block: @ BlockArgumentNode (location: (17,15)-(17,20)) + ├── flags: ∅ ├── expression: │ @ SymbolNode (location: (17,16)-(17,20)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (17,16)-(17,17) = ":" │ ├── value_loc: (17,17)-(17,20) = "foo" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/symbols.txt b/test/prism/snapshots/symbols.txt index 48ff0d634f..7cbe80c821 100644 --- a/test/prism/snapshots/symbols.txt +++ b/test/prism/snapshots/symbols.txt @@ -1,21 +1,26 @@ @ ProgramNode (location: (1,0)-(93,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(93,13)) + ├── flags: ∅ └── body: (length: 47) ├── @ SymbolNode (location: (1,0)-(1,6)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,0)-(1,2) = ":'" │ ├── value_loc: (1,2)-(1,5) = "abc" │ ├── closing_loc: (1,5)-(1,6) = "'" │ └── unescaped: "abc" ├── @ InterpolatedSymbolNode (location: (3,0)-(3,9)) + │ ├── flags: newline │ ├── opening_loc: (3,0)-(3,2) = ":\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (3,2)-(3,8)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (3,2)-(3,4) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,4)-(3,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,4)-(3,7)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -30,47 +35,50 @@ │ │ └── closing_loc: (3,7)-(3,8) = "}" │ └── closing_loc: (3,8)-(3,9) = "\"" ├── @ InterpolatedSymbolNode (location: (5,0)-(5,10)) + │ ├── flags: newline │ ├── opening_loc: (5,0)-(5,2) = ":\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (5,2)-(5,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (5,2)-(5,5) = "abc" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "abc" │ │ └── @ EmbeddedStatementsNode (location: (5,5)-(5,9)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (5,5)-(5,7) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (5,7)-(5,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (5,7)-(5,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── closing_loc: (5,8)-(5,9) = "}" │ └── closing_loc: (5,9)-(5,10) = "\"" ├── @ ArrayNode (location: (7,0)-(7,20)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 4) │ │ ├── @ SymbolNode (location: (7,1)-(7,4)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (7,1)-(7,2) = ":" │ │ │ ├── value_loc: (7,2)-(7,4) = "Υ" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "Υ" │ │ ├── @ SymbolNode (location: (7,6)-(7,9)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (7,6)-(7,7) = ":" │ │ │ ├── value_loc: (7,7)-(7,9) = "ά" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "ά" │ │ ├── @ SymbolNode (location: (7,11)-(7,14)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (7,11)-(7,12) = ":" │ │ │ ├── value_loc: (7,12)-(7,14) = "ŗ" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "ŗ" │ │ └── @ SymbolNode (location: (7,16)-(7,19)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (7,16)-(7,17) = ":" │ │ ├── value_loc: (7,17)-(7,19) = "ρ" │ │ ├── closing_loc: ∅ @@ -78,113 +86,115 @@ │ ├── opening_loc: (7,0)-(7,1) = "[" │ └── closing_loc: (7,19)-(7,20) = "]" ├── @ SymbolNode (location: (9,0)-(9,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (9,0)-(9,1) = ":" │ ├── value_loc: (9,1)-(9,3) = "-@" │ ├── closing_loc: ∅ │ └── unescaped: "-@" ├── @ SymbolNode (location: (11,0)-(11,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (11,0)-(11,1) = ":" │ ├── value_loc: (11,1)-(11,2) = "-" │ ├── closing_loc: ∅ │ └── unescaped: "-" ├── @ SymbolNode (location: (13,0)-(13,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (13,0)-(13,1) = ":" │ ├── value_loc: (13,1)-(13,2) = "%" │ ├── closing_loc: ∅ │ └── unescaped: "%" ├── @ SymbolNode (location: (15,0)-(15,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (15,0)-(15,1) = ":" │ ├── value_loc: (15,1)-(15,2) = "|" │ ├── closing_loc: ∅ │ └── unescaped: "|" ├── @ SymbolNode (location: (17,0)-(17,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (17,0)-(17,1) = ":" │ ├── value_loc: (17,1)-(17,3) = "+@" │ ├── closing_loc: ∅ │ └── unescaped: "+@" ├── @ SymbolNode (location: (19,0)-(19,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (19,0)-(19,1) = ":" │ ├── value_loc: (19,1)-(19,2) = "+" │ ├── closing_loc: ∅ │ └── unescaped: "+" ├── @ SymbolNode (location: (21,0)-(21,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (21,0)-(21,1) = ":" │ ├── value_loc: (21,1)-(21,2) = "/" │ ├── closing_loc: ∅ │ └── unescaped: "/" ├── @ SymbolNode (location: (23,0)-(23,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (23,0)-(23,1) = ":" │ ├── value_loc: (23,1)-(23,3) = "**" │ ├── closing_loc: ∅ │ └── unescaped: "**" ├── @ SymbolNode (location: (25,0)-(25,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (25,0)-(25,1) = ":" │ ├── value_loc: (25,1)-(25,2) = "*" │ ├── closing_loc: ∅ │ └── unescaped: "*" ├── @ SymbolNode (location: (27,0)-(27,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (27,0)-(27,1) = ":" │ ├── value_loc: (27,1)-(27,3) = "~@" │ ├── closing_loc: ∅ │ └── unescaped: "~" ├── @ ArrayNode (location: (29,0)-(29,16)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 4) │ │ ├── @ IntegerNode (location: (29,1)-(29,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── @ FloatNode (location: (29,4)-(29,7)) + │ │ │ ├── flags: static_literal │ │ │ └── value: 1.0 │ │ ├── @ RationalNode (location: (29,9)-(29,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ ├── numerator: 1 │ │ │ └── denominator: 1 │ │ └── @ ImaginaryNode (location: (29,13)-(29,15)) + │ │ ├── flags: static_literal │ │ └── numeric: │ │ @ IntegerNode (location: (29,13)-(29,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── opening_loc: (29,0)-(29,1) = "[" │ └── closing_loc: (29,15)-(29,16) = "]" ├── @ SymbolNode (location: (31,0)-(31,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (31,0)-(31,1) = ":" │ ├── value_loc: (31,1)-(31,2) = "~" │ ├── closing_loc: ∅ │ └── unescaped: "~" ├── @ SymbolNode (location: (33,0)-(33,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (33,0)-(33,1) = ":" │ ├── value_loc: (33,1)-(33,2) = "a" │ ├── closing_loc: ∅ │ └── unescaped: "a" ├── @ ArrayNode (location: (35,0)-(35,9)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 3) │ │ ├── @ SymbolNode (location: (35,3)-(35,4)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (35,3)-(35,4) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ ├── @ SymbolNode (location: (35,5)-(35,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (35,5)-(35,6) = "b" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b" │ │ └── @ SymbolNode (location: (35,7)-(35,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (35,7)-(35,8) = "c" │ │ ├── closing_loc: ∅ @@ -192,28 +202,28 @@ │ ├── opening_loc: (35,0)-(35,3) = "%i[" │ └── closing_loc: (35,8)-(35,9) = "]" ├── @ ArrayNode (location: (37,0)-(37,24)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 4) │ │ ├── @ SymbolNode (location: (37,3)-(37,4)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (37,3)-(37,4) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ ├── @ SymbolNode (location: (37,5)-(37,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (37,5)-(37,10) = "b\#{1}" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b\#{1}" │ │ ├── @ SymbolNode (location: (37,11)-(37,16)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (37,11)-(37,16) = "\#{2}c" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\#{2}c" │ │ └── @ SymbolNode (location: (37,17)-(37,23)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (37,17)-(37,23) = "d\#{3}f" │ │ ├── closing_loc: ∅ @@ -221,72 +231,81 @@ │ ├── opening_loc: (37,0)-(37,3) = "%i[" │ └── closing_loc: (37,23)-(37,24) = "]" ├── @ ArrayNode (location: (39,0)-(39,24)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 4) │ │ ├── @ SymbolNode (location: (39,3)-(39,4)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (39,3)-(39,4) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ ├── @ InterpolatedSymbolNode (location: (39,5)-(39,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: ∅ │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ StringNode (location: (39,5)-(39,6)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (39,5)-(39,6) = "b" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "b" │ │ │ │ └── @ EmbeddedStatementsNode (location: (39,6)-(39,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (39,6)-(39,8) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (39,8)-(39,9)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (39,8)-(39,9)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── closing_loc: (39,9)-(39,10) = "}" │ │ │ └── closing_loc: ∅ │ │ ├── @ InterpolatedSymbolNode (location: (39,11)-(39,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: ∅ │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ EmbeddedStatementsNode (location: (39,11)-(39,15)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── opening_loc: (39,11)-(39,13) = "\#{" │ │ │ │ │ ├── statements: │ │ │ │ │ │ @ StatementsNode (location: (39,13)-(39,14)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ │ └── @ IntegerNode (location: (39,13)-(39,14)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 2 │ │ │ │ │ └── closing_loc: (39,14)-(39,15) = "}" │ │ │ │ └── @ StringNode (location: (39,15)-(39,16)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (39,15)-(39,16) = "c" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "c" │ │ │ └── closing_loc: ∅ │ │ └── @ InterpolatedSymbolNode (location: (39,17)-(39,23)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: ∅ │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (39,17)-(39,18)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (39,17)-(39,18) = "d" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "d" │ │ │ ├── @ EmbeddedStatementsNode (location: (39,18)-(39,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (39,18)-(39,20) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (39,20)-(39,21)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (39,20)-(39,21)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 3 │ │ │ │ └── closing_loc: (39,21)-(39,22) = "}" │ │ │ └── @ StringNode (location: (39,22)-(39,23)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (39,22)-(39,23) = "f" │ │ │ ├── closing_loc: ∅ @@ -295,22 +314,22 @@ │ ├── opening_loc: (39,0)-(39,3) = "%I[" │ └── closing_loc: (39,23)-(39,24) = "]" ├── @ SymbolNode (location: (41,0)-(41,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (41,0)-(41,1) = ":" │ ├── value_loc: (41,1)-(41,4) = "@@a" │ ├── closing_loc: ∅ │ └── unescaped: "@@a" ├── @ SymbolNode (location: (43,0)-(43,5)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (43,0)-(43,1) = ":" │ ├── value_loc: (43,1)-(43,5) = "👍" │ ├── closing_loc: ∅ │ └── unescaped: "👍" ├── @ ArrayNode (location: (45,0)-(45,7)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (45,3)-(45,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (45,3)-(45,6) = "a\\b" │ │ ├── closing_loc: ∅ @@ -318,145 +337,145 @@ │ ├── opening_loc: (45,0)-(45,3) = "%i[" │ └── closing_loc: (45,6)-(45,7) = "]" ├── @ SymbolNode (location: (47,0)-(47,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (47,0)-(47,1) = ":" │ ├── value_loc: (47,1)-(47,3) = "$a" │ ├── closing_loc: ∅ │ └── unescaped: "$a" ├── @ SymbolNode (location: (49,0)-(49,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (49,0)-(49,1) = ":" │ ├── value_loc: (49,1)-(49,3) = "@a" │ ├── closing_loc: ∅ │ └── unescaped: "@a" ├── @ SymbolNode (location: (51,0)-(51,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (51,0)-(51,1) = ":" │ ├── value_loc: (51,1)-(51,3) = "do" │ ├── closing_loc: ∅ │ └── unescaped: "do" ├── @ SymbolNode (location: (53,0)-(53,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (53,0)-(53,1) = ":" │ ├── value_loc: (53,1)-(53,2) = "&" │ ├── closing_loc: ∅ │ └── unescaped: "&" ├── @ SymbolNode (location: (55,0)-(55,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (55,0)-(55,1) = ":" │ ├── value_loc: (55,1)-(55,2) = "`" │ ├── closing_loc: ∅ │ └── unescaped: "`" ├── @ SymbolNode (location: (57,0)-(57,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (57,0)-(57,1) = ":" │ ├── value_loc: (57,1)-(57,3) = "!@" │ ├── closing_loc: ∅ │ └── unescaped: "!" ├── @ SymbolNode (location: (59,0)-(59,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (59,0)-(59,1) = ":" │ ├── value_loc: (59,1)-(59,3) = "!~" │ ├── closing_loc: ∅ │ └── unescaped: "!~" ├── @ SymbolNode (location: (61,0)-(61,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (61,0)-(61,1) = ":" │ ├── value_loc: (61,1)-(61,2) = "!" │ ├── closing_loc: ∅ │ └── unescaped: "!" ├── @ SymbolNode (location: (63,0)-(63,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (63,0)-(63,1) = ":" │ ├── value_loc: (63,1)-(63,3) = "[]" │ ├── closing_loc: ∅ │ └── unescaped: "[]" ├── @ SymbolNode (location: (65,0)-(65,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (65,0)-(65,1) = ":" │ ├── value_loc: (65,1)-(65,4) = "[]=" │ ├── closing_loc: ∅ │ └── unescaped: "[]=" ├── @ SymbolNode (location: (67,0)-(67,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (67,0)-(67,1) = ":" │ ├── value_loc: (67,1)-(67,2) = "^" │ ├── closing_loc: ∅ │ └── unescaped: "^" ├── @ SymbolNode (location: (69,0)-(69,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (69,0)-(69,1) = ":" │ ├── value_loc: (69,1)-(69,3) = "==" │ ├── closing_loc: ∅ │ └── unescaped: "==" ├── @ SymbolNode (location: (71,0)-(71,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (71,0)-(71,1) = ":" │ ├── value_loc: (71,1)-(71,4) = "===" │ ├── closing_loc: ∅ │ └── unescaped: "===" ├── @ SymbolNode (location: (73,0)-(73,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (73,0)-(73,1) = ":" │ ├── value_loc: (73,1)-(73,3) = "=~" │ ├── closing_loc: ∅ │ └── unescaped: "=~" ├── @ SymbolNode (location: (75,0)-(75,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (75,0)-(75,1) = ":" │ ├── value_loc: (75,1)-(75,3) = ">=" │ ├── closing_loc: ∅ │ └── unescaped: ">=" ├── @ SymbolNode (location: (77,0)-(77,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (77,0)-(77,1) = ":" │ ├── value_loc: (77,1)-(77,3) = ">>" │ ├── closing_loc: ∅ │ └── unescaped: ">>" ├── @ SymbolNode (location: (79,0)-(79,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (79,0)-(79,1) = ":" │ ├── value_loc: (79,1)-(79,2) = ">" │ ├── closing_loc: ∅ │ └── unescaped: ">" ├── @ SymbolNode (location: (81,0)-(81,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (81,0)-(81,1) = ":" │ ├── value_loc: (81,1)-(81,4) = "<=>" │ ├── closing_loc: ∅ │ └── unescaped: "<=>" ├── @ SymbolNode (location: (83,0)-(83,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (83,0)-(83,1) = ":" │ ├── value_loc: (83,1)-(83,3) = "<=" │ ├── closing_loc: ∅ │ └── unescaped: "<=" ├── @ SymbolNode (location: (85,0)-(85,3)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (85,0)-(85,1) = ":" │ ├── value_loc: (85,1)-(85,3) = "<<" │ ├── closing_loc: ∅ │ └── unescaped: "<<" ├── @ SymbolNode (location: (87,0)-(87,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (87,0)-(87,1) = ":" │ ├── value_loc: (87,1)-(87,2) = "<" │ ├── closing_loc: ∅ │ └── unescaped: "<" ├── @ SymbolNode (location: (89,0)-(89,9)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (89,0)-(89,1) = ":" │ ├── value_loc: (89,1)-(89,9) = "__LINE__" │ ├── closing_loc: ∅ │ └── unescaped: "__LINE__" ├── @ SymbolNode (location: (91,0)-(91,9)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (91,0)-(91,1) = ":" │ ├── value_loc: (91,1)-(91,9) = "__FILE__" │ ├── closing_loc: ∅ │ └── unescaped: "__FILE__" └── @ SymbolNode (location: (93,0)-(93,13)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (93,0)-(93,1) = ":" ├── value_loc: (93,1)-(93,13) = "__ENCODING__" ├── closing_loc: ∅ diff --git a/test/prism/snapshots/ternary_operator.txt b/test/prism/snapshots/ternary_operator.txt index 0277ac88f0..76debe3fa7 100644 --- a/test/prism/snapshots/ternary_operator.txt +++ b/test/prism/snapshots/ternary_operator.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(15,12)) +├── flags: ∅ ├── locals: [:_a] └── statements: @ StatementsNode (location: (1,0)-(15,12)) + ├── flags: ∅ └── body: (length: 8) ├── @ IfNode (location: (1,0)-(1,9)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (1,0)-(1,1)) @@ -19,9 +22,10 @@ │ ├── then_keyword_loc: (1,2)-(1,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,4)-(1,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,4)-(1,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -32,12 +36,14 @@ │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,6)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (1,6)-(1,7) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,8)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,8)-(1,9)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -49,6 +55,7 @@ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (3,0)-(3,27)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (3,0)-(3,1)) @@ -64,8 +71,10 @@ │ ├── then_keyword_loc: (3,2)-(3,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (3,4)-(3,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ DefinedNode (location: (3,4)-(3,14)) + │ │ ├── flags: newline │ │ ├── lparen_loc: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (3,13)-(3,14)) @@ -82,11 +91,14 @@ │ │ └── keyword_loc: (3,4)-(3,12) = "defined?" │ ├── consequent: │ │ @ ElseNode (location: (3,15)-(3,27)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (3,15)-(3,16) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,17)-(3,27)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ DefinedNode (location: (3,17)-(3,27)) + │ │ │ ├── flags: newline │ │ │ ├── lparen_loc: ∅ │ │ │ ├── value: │ │ │ │ @ CallNode (location: (3,26)-(3,27)) @@ -104,6 +116,7 @@ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (5,0)-(5,15)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (5,0)-(5,6)) @@ -119,18 +132,24 @@ │ ├── then_keyword_loc: (5,6)-(5,7) = "?" │ ├── statements: │ │ @ StatementsNode (location: (5,7)-(5,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ TrueNode (location: (5,7)-(5,11)) + │ │ └── flags: newline, static_literal │ ├── consequent: │ │ @ ElseNode (location: (5,11)-(5,15)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (5,11)-(5,12) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (5,12)-(5,15)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ NilNode (location: (5,12)-(5,15)) + │ │ │ └── flags: newline, static_literal │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (7,0)-(7,16)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (7,0)-(7,6)) @@ -146,18 +165,24 @@ │ ├── then_keyword_loc: (7,6)-(7,7) = "?" │ ├── statements: │ │ @ StatementsNode (location: (7,7)-(7,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ FalseNode (location: (7,7)-(7,12)) + │ │ └── flags: newline, static_literal │ ├── consequent: │ │ @ ElseNode (location: (7,12)-(7,16)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (7,12)-(7,13) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (7,13)-(7,16)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ NilNode (location: (7,13)-(7,16)) + │ │ │ └── flags: newline, static_literal │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (9,0)-(9,14)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (9,0)-(9,6)) @@ -173,18 +198,24 @@ │ ├── then_keyword_loc: (9,6)-(9,7) = "?" │ ├── statements: │ │ @ StatementsNode (location: (9,7)-(9,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (9,7)-(9,10)) + │ │ └── flags: newline, static_literal │ ├── consequent: │ │ @ ElseNode (location: (9,10)-(9,14)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (9,10)-(9,11) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (9,11)-(9,14)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ NilNode (location: (9,11)-(9,14)) + │ │ │ └── flags: newline, static_literal │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (11,0)-(11,10)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (11,0)-(11,2)) @@ -200,18 +231,24 @@ │ ├── then_keyword_loc: (11,2)-(11,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (11,3)-(11,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (11,3)-(11,6)) + │ │ └── flags: newline, static_literal │ ├── consequent: │ │ @ ElseNode (location: (11,6)-(11,10)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (11,6)-(11,7) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (11,7)-(11,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ NilNode (location: (11,7)-(11,10)) + │ │ │ └── flags: newline, static_literal │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (13,0)-(13,14)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ CallNode (location: (13,0)-(13,1)) @@ -227,9 +264,10 @@ │ ├── then_keyword_loc: (13,2)-(13,3) = "?" │ ├── statements: │ │ @ StatementsNode (location: (13,3)-(13,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (13,3)-(13,7)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :var1 @@ -240,12 +278,14 @@ │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (13,8)-(13,14)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (13,8)-(13,9) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (13,10)-(13,14)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (13,10)-(13,14)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :var2 @@ -257,6 +297,7 @@ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ IfNode (location: (15,0)-(15,12)) + ├── flags: newline ├── if_keyword_loc: ∅ ├── predicate: │ @ CallNode (location: (15,0)-(15,4)) @@ -272,24 +313,28 @@ ├── then_keyword_loc: (15,4)-(15,5) = "?" ├── statements: │ @ StatementsNode (location: (15,5)-(15,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableWriteNode (location: (15,5)-(15,10)) + │ ├── flags: newline │ ├── name: :_a │ ├── depth: 0 │ ├── name_loc: (15,5)-(15,7) = "_a" │ ├── value: │ │ @ IntegerNode (location: (15,9)-(15,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (15,8)-(15,9) = "=" ├── consequent: │ @ ElseNode (location: (15,10)-(15,12)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (15,10)-(15,11) = ":" │ ├── statements: │ │ @ StatementsNode (location: (15,11)-(15,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (15,11)-(15,12)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ └── end_keyword_loc: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/tilde_heredocs.txt b/test/prism/snapshots/tilde_heredocs.txt index f50f915a64..dc6321ce1a 100644 --- a/test/prism/snapshots/tilde_heredocs.txt +++ b/test/prism/snapshots/tilde_heredocs.txt @@ -1,403 +1,419 @@ @ ProgramNode (location: (1,0)-(94,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(94,6)) + ├── flags: ∅ └── body: (length: 19) ├── @ InterpolatedStringNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,6) = "<<~EOF" │ ├── parts: (length: 4) │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (2,0)-(3,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " a\n" │ │ ├── @ EmbeddedStatementsNode (location: (3,0)-(3,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (3,0)-(3,2) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (3,2)-(3,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (3,2)-(3,3)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (3,3)-(3,4) = "}" │ │ ├── @ StringNode (location: (3,4)-(4,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,4)-(4,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ └── @ StringNode (location: (4,0)-(5,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (4,0)-(5,0) = " a\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " a\n" │ └── closing_loc: (5,0)-(6,0) = "EOF\n" ├── @ StringNode (location: (7,0)-(7,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (7,0)-(7,6) = "<<~EOF" │ ├── content_loc: (8,0)-(9,0) = " a\n" │ ├── closing_loc: (9,0)-(10,0) = "EOF\n" │ └── unescaped: "a\n" ├── @ InterpolatedStringNode (location: (11,0)-(11,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (11,0)-(11,6) = "<<~EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (12,0)-(13,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (12,0)-(13,0) = "\ta\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\ta\n" │ │ ├── @ StringNode (location: (13,0)-(14,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (13,0)-(14,0) = " b\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b\n" │ │ └── @ StringNode (location: (14,0)-(15,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (14,0)-(15,0) = "\t\tc\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\t\tc\n" │ └── closing_loc: (15,0)-(16,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (17,0)-(17,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (17,0)-(17,6) = "<<~EOF" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (18,2)-(18,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (18,2)-(18,4) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (18,4)-(18,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (18,4)-(18,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (18,5)-(18,6) = "}" │ │ └── @ StringNode (location: (18,6)-(19,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (18,6)-(19,0) = " a\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " a\n" │ └── closing_loc: (19,0)-(20,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (21,0)-(21,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (21,0)-(21,6) = "<<~EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (22,0)-(22,4)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (22,0)-(22,4) = " a " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a " │ │ ├── @ EmbeddedStatementsNode (location: (22,4)-(22,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (22,4)-(22,6) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (22,6)-(22,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (22,6)-(22,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (22,7)-(22,8) = "}" │ │ └── @ StringNode (location: (22,8)-(23,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (22,8)-(23,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── closing_loc: (23,0)-(24,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (25,0)-(25,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (25,0)-(25,6) = "<<~EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (26,0)-(27,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (26,0)-(27,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " a\n" │ │ ├── @ EmbeddedStatementsNode (location: (27,1)-(27,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (27,1)-(27,3) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (27,3)-(27,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (27,3)-(27,4)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (27,4)-(27,5) = "}" │ │ └── @ StringNode (location: (27,5)-(28,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (27,5)-(28,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── closing_loc: (28,0)-(29,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (30,0)-(30,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (30,0)-(30,6) = "<<~EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (31,0)-(32,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (31,0)-(32,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ ├── @ EmbeddedStatementsNode (location: (32,2)-(32,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (32,2)-(32,4) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (32,4)-(32,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (32,4)-(32,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (32,5)-(32,6) = "}" │ │ └── @ StringNode (location: (32,6)-(33,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (32,6)-(33,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── closing_loc: (33,0)-(34,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (35,0)-(35,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (35,0)-(35,6) = "<<~EOF" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (36,0)-(37,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (36,0)-(37,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── @ StringNode (location: (37,0)-(38,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (37,0)-(38,0) = " b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n" │ └── closing_loc: (38,0)-(39,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (40,0)-(40,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (40,0)-(40,6) = "<<~EOF" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (41,0)-(42,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (41,0)-(42,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── @ StringNode (location: (42,0)-(43,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (42,0)-(43,0) = " b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " b\n" │ └── closing_loc: (43,0)-(44,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (45,0)-(45,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (45,0)-(45,6) = "<<~EOF" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (46,0)-(47,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (46,0)-(47,0) = "\t\t\ta\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\ta\n" │ │ └── @ StringNode (location: (47,0)-(48,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (47,0)-(48,0) = "\t\tb\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n" │ └── closing_loc: (48,0)-(49,0) = "EOF\n" ├── @ StringNode (location: (50,0)-(50,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (50,0)-(50,8) = "<<~'EOF'" │ ├── content_loc: (51,0)-(52,0) = " a \#{1}\n" │ ├── closing_loc: (52,0)-(53,0) = "EOF\n" │ └── unescaped: "a \#{1}\n" ├── @ InterpolatedStringNode (location: (54,0)-(54,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (54,0)-(54,6) = "<<~EOF" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (55,0)-(56,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (55,0)-(56,0) = "\ta\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── @ StringNode (location: (56,0)-(57,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (56,0)-(57,0) = "\t b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " b\n" │ └── closing_loc: (57,0)-(58,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (59,0)-(59,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (59,0)-(59,6) = "<<~EOF" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (60,0)-(61,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (60,0)-(61,0) = "\t a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " a\n" │ │ └── @ StringNode (location: (61,0)-(62,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (61,0)-(62,0) = "\tb\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n" │ └── closing_loc: (62,0)-(63,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (64,0)-(64,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (64,0)-(64,6) = "<<~EOF" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (65,0)-(66,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (65,0)-(66,0) = " \ta\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── @ StringNode (location: (66,0)-(67,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (66,0)-(67,0) = " b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n" │ └── closing_loc: (67,0)-(68,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (69,0)-(69,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (69,0)-(69,6) = "<<~EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (70,0)-(71,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (70,0)-(71,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ ├── @ StringNode (location: (71,0)-(72,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (71,0)-(72,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ └── @ StringNode (location: (72,0)-(73,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (72,0)-(73,0) = " b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n" │ └── closing_loc: (73,0)-(74,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (75,0)-(75,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (75,0)-(75,6) = "<<~EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (76,0)-(77,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (76,0)-(77,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ ├── @ StringNode (location: (77,0)-(78,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (77,0)-(78,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ └── @ StringNode (location: (78,0)-(79,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (78,0)-(79,0) = " b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n" │ └── closing_loc: (79,0)-(80,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (81,0)-(81,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (81,0)-(81,6) = "<<~EOF" │ ├── parts: (length: 5) │ │ ├── @ StringNode (location: (82,0)-(83,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (82,0)-(83,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ ├── @ StringNode (location: (83,0)-(84,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (83,0)-(84,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ ├── @ StringNode (location: (84,0)-(85,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (84,0)-(85,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ ├── @ StringNode (location: (85,0)-(86,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (85,0)-(86,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ └── @ StringNode (location: (86,0)-(87,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (86,0)-(87,0) = " b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n" │ └── closing_loc: (87,0)-(88,0) = "EOF\n" ├── @ InterpolatedStringNode (location: (89,0)-(89,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (89,0)-(89,6) = "<<~EOF" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (90,0)-(91,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (90,0)-(91,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ ├── @ EmbeddedStatementsNode (location: (91,2)-(91,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (91,2)-(91,4) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (91,4)-(91,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (91,4)-(91,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (91,5)-(91,6) = "}" │ │ └── @ StringNode (location: (91,6)-(92,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (91,6)-(92,0) = "a\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\n" │ └── closing_loc: (92,0)-(93,0) = " EOF\n" └── @ InterpolatedStringNode (location: (94,0)-(94,6)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (94,0)-(94,6) = "<<~EOT" ├── parts: (length: 3) │ ├── @ EmbeddedStatementsNode (location: (95,2)-(95,6)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (95,2)-(95,4) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (95,4)-(95,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (95,4)-(95,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── closing_loc: (95,5)-(95,6) = "}" │ ├── @ StringNode (location: (95,6)-(96,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (95,6)-(96,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── @ StringNode (location: (96,0)-(97,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (96,0)-(97,0) = "\tb\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/undef.txt b/test/prism/snapshots/undef.txt index e59ace92f5..7491fc4c95 100644 --- a/test/prism/snapshots/undef.txt +++ b/test/prism/snapshots/undef.txt @@ -1,115 +1,129 @@ @ ProgramNode (location: (1,0)-(17,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(17,14)) + ├── flags: ∅ └── body: (length: 9) ├── @ UndefNode (location: (1,0)-(1,7)) + │ ├── flags: newline │ ├── names: (length: 1) │ │ └── @ SymbolNode (location: (1,6)-(1,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,6)-(1,7) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ └── keyword_loc: (1,0)-(1,5) = "undef" ├── @ UndefNode (location: (3,0)-(3,10)) + │ ├── flags: newline │ ├── names: (length: 2) │ │ ├── @ SymbolNode (location: (3,6)-(3,7)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (3,6)-(3,7) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (3,9)-(3,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (3,9)-(3,10) = "b" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b" │ └── keyword_loc: (3,0)-(3,5) = "undef" ├── @ UndefNode (location: (5,0)-(5,8)) + │ ├── flags: newline │ ├── names: (length: 1) │ │ └── @ SymbolNode (location: (5,6)-(5,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (5,6)-(5,8) = "if" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "if" │ └── keyword_loc: (5,0)-(5,5) = "undef" ├── @ UndefNode (location: (7,0)-(7,9)) + │ ├── flags: newline │ ├── names: (length: 1) │ │ └── @ SymbolNode (location: (7,6)-(7,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (7,6)-(7,9) = "<=>" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "<=>" │ └── keyword_loc: (7,0)-(7,5) = "undef" ├── @ UndefNode (location: (9,0)-(9,8)) + │ ├── flags: newline │ ├── names: (length: 1) │ │ └── @ SymbolNode (location: (9,6)-(9,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (9,6)-(9,7) = ":" │ │ ├── value_loc: (9,7)-(9,8) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ └── keyword_loc: (9,0)-(9,5) = "undef" ├── @ UndefNode (location: (11,0)-(11,16)) + │ ├── flags: newline │ ├── names: (length: 3) │ │ ├── @ SymbolNode (location: (11,6)-(11,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (11,6)-(11,7) = ":" │ │ │ ├── value_loc: (11,7)-(11,8) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ ├── @ SymbolNode (location: (11,10)-(11,12)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (11,10)-(11,11) = ":" │ │ │ ├── value_loc: (11,11)-(11,12) = "b" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b" │ │ └── @ SymbolNode (location: (11,14)-(11,16)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (11,14)-(11,15) = ":" │ │ ├── value_loc: (11,15)-(11,16) = "c" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "c" │ └── keyword_loc: (11,0)-(11,5) = "undef" ├── @ UndefNode (location: (13,0)-(13,12)) + │ ├── flags: newline │ ├── names: (length: 1) │ │ └── @ SymbolNode (location: (13,6)-(13,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (13,6)-(13,8) = ":'" │ │ ├── value_loc: (13,8)-(13,11) = "abc" │ │ ├── closing_loc: (13,11)-(13,12) = "'" │ │ └── unescaped: "abc" │ └── keyword_loc: (13,0)-(13,5) = "undef" ├── @ UndefNode (location: (15,0)-(15,16)) + │ ├── flags: newline │ ├── names: (length: 1) │ │ └── @ InterpolatedSymbolNode (location: (15,6)-(15,16)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (15,6)-(15,8) = ":\"" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (15,8)-(15,11)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (15,8)-(15,11) = "abc" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "abc" │ │ │ └── @ EmbeddedStatementsNode (location: (15,11)-(15,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (15,11)-(15,13) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (15,13)-(15,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (15,13)-(15,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (15,14)-(15,15) = "}" │ │ └── closing_loc: (15,15)-(15,16) = "\"" │ └── keyword_loc: (15,0)-(15,5) = "undef" └── @ UndefNode (location: (17,0)-(17,14)) + ├── flags: newline ├── names: (length: 1) │ └── @ SymbolNode (location: (17,6)-(17,14)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (17,6)-(17,14) = "Constant" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unescaping.txt b/test/prism/snapshots/unescaping.txt index 456ef226d0..822fbe7d8f 100644 --- a/test/prism/snapshots/unescaping.txt +++ b/test/prism/snapshots/unescaping.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(7,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,7)) + ├── flags: ∅ └── body: (length: 4) ├── @ ArrayNode (location: (1,0)-(1,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (1,1)-(1,9)) │ │ ├── flags: ∅ @@ -15,19 +17,19 @@ │ ├── opening_loc: (1,0)-(1,1) = "[" │ └── closing_loc: (1,9)-(1,10) = "]" ├── @ RegularExpressionNode (location: (3,0)-(3,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (3,0)-(3,1) = "/" │ ├── content_loc: (3,1)-(3,7) = "\\c\#{1}" │ ├── closing_loc: (3,7)-(3,8) = "/" │ └── unescaped: "\\x03{1}" ├── @ StringNode (location: (5,0)-(5,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (5,0)-(5,1) = "\"" │ ├── content_loc: (5,1)-(5,7) = "\\c\#{1}" │ ├── closing_loc: (5,7)-(5,8) = "\"" │ └── unescaped: "\u0003{1}" └── @ StringNode (location: (7,0)-(7,7)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (7,0)-(7,7) = "<<~HERE" ├── content_loc: (8,0)-(9,0) = " \\c\#{1}\n" ├── closing_loc: (9,0)-(10,0) = "HERE\n" diff --git a/test/prism/snapshots/unless.txt b/test/prism/snapshots/unless.txt index 6c4aaf66a5..130c0bb2b8 100644 --- a/test/prism/snapshots/unless.txt +++ b/test/prism/snapshots/unless.txt @@ -1,58 +1,71 @@ @ ProgramNode (location: (1,0)-(14,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(14,22)) + ├── flags: ∅ └── body: (length: 7) ├── @ UnlessNode (location: (1,0)-(1,19)) + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,6) = "unless" │ ├── predicate: │ │ @ TrueNode (location: (1,7)-(1,11)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,13)-(1,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,13)-(1,14)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── consequent: ∅ │ └── end_keyword_loc: (1,16)-(1,19) = "end" ├── @ UnlessNode (location: (3,0)-(4,12)) + │ ├── flags: newline │ ├── keyword_loc: (3,0)-(3,6) = "unless" │ ├── predicate: │ │ @ TrueNode (location: (3,7)-(3,11)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (4,0)-(4,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (4,0)-(4,1)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── consequent: │ │ @ ElseNode (location: (4,2)-(4,12)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (4,2)-(4,6) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (4,7)-(4,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (4,7)-(4,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 2 │ │ └── end_keyword_loc: (4,9)-(4,12) = "end" │ └── end_keyword_loc: (4,9)-(4,12) = "end" ├── @ UnlessNode (location: (6,0)-(6,13)) + │ ├── flags: newline │ ├── keyword_loc: (6,2)-(6,8) = "unless" │ ├── predicate: │ │ @ TrueNode (location: (6,9)-(6,13)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (6,0)-(6,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (6,0)-(6,1)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ ├── @ CallNode (location: (8,0)-(8,25)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -62,20 +75,26 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (8,4)-(8,25)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (8,6)-(8,23)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ UnlessNode (location: (8,6)-(8,23)) + │ │ ├── flags: newline │ │ ├── keyword_loc: (8,12)-(8,18) = "unless" │ │ ├── predicate: │ │ │ @ TrueNode (location: (8,19)-(8,23)) + │ │ │ └── flags: static_literal │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (8,6)-(8,11)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ BreakNode (location: (8,6)-(8,11)) + │ │ │ ├── flags: newline │ │ │ ├── arguments: ∅ │ │ │ └── keyword_loc: (8,6)-(8,11) = "break" │ │ ├── consequent: ∅ @@ -83,7 +102,7 @@ │ ├── opening_loc: (8,4)-(8,5) = "{" │ └── closing_loc: (8,24)-(8,25) = "}" ├── @ CallNode (location: (10,0)-(10,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -93,20 +112,26 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (10,4)-(10,24)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (10,6)-(10,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ UnlessNode (location: (10,6)-(10,22)) + │ │ ├── flags: newline │ │ ├── keyword_loc: (10,11)-(10,17) = "unless" │ │ ├── predicate: │ │ │ @ TrueNode (location: (10,18)-(10,22)) + │ │ │ └── flags: static_literal │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (10,6)-(10,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ NextNode (location: (10,6)-(10,10)) + │ │ │ ├── flags: newline │ │ │ ├── arguments: ∅ │ │ │ └── keyword_loc: (10,6)-(10,10) = "next" │ │ ├── consequent: ∅ @@ -114,20 +139,24 @@ │ ├── opening_loc: (10,4)-(10,5) = "{" │ └── closing_loc: (10,23)-(10,24) = "}" ├── @ UnlessNode (location: (12,0)-(12,18)) + │ ├── flags: newline │ ├── keyword_loc: (12,7)-(12,13) = "unless" │ ├── predicate: │ │ @ TrueNode (location: (12,14)-(12,18)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (12,0)-(12,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ReturnNode (location: (12,0)-(12,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (12,0)-(12,6) = "return" │ │ └── arguments: ∅ │ ├── consequent: ∅ │ └── end_keyword_loc: ∅ └── @ UnlessNode (location: (14,0)-(14,22)) + ├── flags: newline ├── keyword_loc: (14,11)-(14,17) = "unless" ├── predicate: │ @ CallNode (location: (14,18)-(14,22)) @@ -143,9 +172,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (14,0)-(14,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (14,0)-(14,10)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -156,13 +186,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (14,4)-(14,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (14,4)-(14,5) = ":" │ │ │ ├── value_loc: (14,5)-(14,6) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (14,8)-(14,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (14,8)-(14,9) = ":" │ │ ├── value_loc: (14,9)-(14,10) = "b" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/alias.txt b/test/prism/snapshots/unparser/corpus/literal/alias.txt index 18ddc86d4f..6ce892b54d 100644 --- a/test/prism/snapshots/unparser/corpus/literal/alias.txt +++ b/test/prism/snapshots/unparser/corpus/literal/alias.txt @@ -1,27 +1,33 @@ @ ProgramNode (location: (1,0)-(2,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,15)) + ├── flags: ∅ └── body: (length: 2) ├── @ AliasGlobalVariableNode (location: (1,0)-(1,15)) + │ ├── flags: newline │ ├── new_name: │ │ @ GlobalVariableReadNode (location: (1,6)-(1,10)) + │ │ ├── flags: ∅ │ │ └── name: :$foo │ ├── old_name: │ │ @ GlobalVariableReadNode (location: (1,11)-(1,15)) + │ │ ├── flags: ∅ │ │ └── name: :$bar │ └── keyword_loc: (1,0)-(1,5) = "alias" └── @ AliasMethodNode (location: (2,0)-(2,15)) + ├── flags: newline ├── new_name: │ @ SymbolNode (location: (2,6)-(2,10)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (2,6)-(2,7) = ":" │ ├── value_loc: (2,7)-(2,10) = "foo" │ ├── closing_loc: ∅ │ └── unescaped: "foo" ├── old_name: │ @ SymbolNode (location: (2,11)-(2,15)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (2,11)-(2,12) = ":" │ ├── value_loc: (2,12)-(2,15) = "bar" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/assignment.txt b/test/prism/snapshots/unparser/corpus/literal/assignment.txt index 7d3cc389c6..aa1d1037af 100644 --- a/test/prism/snapshots/unparser/corpus/literal/assignment.txt +++ b/test/prism/snapshots/unparser/corpus/literal/assignment.txt @@ -1,21 +1,27 @@ @ ProgramNode (location: (1,0)-(51,17)) +├── flags: ∅ ├── locals: [:a, :b, :foo, :c, :x] └── statements: @ StatementsNode (location: (1,0)-(51,17)) + ├── flags: ∅ └── body: (length: 43) ├── @ GlobalVariableWriteNode (location: (1,0)-(1,6)) + │ ├── flags: newline │ ├── name: :$a │ ├── name_loc: (1,0)-(1,2) = "$a" │ ├── value: │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (1,3)-(1,4) = "=" ├── @ MultiWriteNode (location: (2,0)-(2,17)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ GlobalVariableTargetNode (location: (2,1)-(2,3)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :$a │ │ └── @ GlobalVariableTargetNode (location: (2,5)-(2,7)) + │ │ ├── flags: ∅ │ │ └── name: :$b │ ├── rest: ∅ │ ├── rights: (length: 0) @@ -24,29 +30,34 @@ │ ├── operator_loc: (2,9)-(2,10) = "=" │ └── value: │ @ ArrayNode (location: (2,11)-(2,17)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (2,12)-(2,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (2,15)-(2,16)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (2,11)-(2,12) = "[" │ └── closing_loc: (2,16)-(2,17) = "]" ├── @ MultiWriteNode (location: (3,0)-(3,13)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ MultiTargetNode (location: (3,1)-(3,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ LocalVariableTargetNode (location: (3,2)-(3,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── rest: │ │ │ │ @ ImplicitRestNode (location: (3,3)-(3,4)) + │ │ │ │ └── flags: ∅ │ │ │ ├── rights: (length: 0) │ │ │ ├── lparen_loc: (3,1)-(3,2) = "(" │ │ │ └── rparen_loc: (3,4)-(3,5) = ")" │ │ └── @ LocalVariableTargetNode (location: (3,7)-(3,8)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rest: ∅ @@ -56,15 +67,18 @@ │ ├── operator_loc: (3,10)-(3,11) = "=" │ └── value: │ @ IntegerNode (location: (3,12)-(3,13)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ MultiWriteNode (location: (4,0)-(4,9)) + │ ├── flags: newline │ ├── lefts: (length: 0) │ ├── rest: │ │ @ SplatNode (location: (4,1)-(4,3)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (4,1)-(4,2) = "*" │ │ └── expression: │ │ @ LocalVariableTargetNode (location: (4,2)-(4,3)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── rights: (length: 0) @@ -73,17 +87,20 @@ │ ├── operator_loc: (4,5)-(4,6) = "=" │ └── value: │ @ ArrayNode (location: (4,7)-(4,9)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (4,7)-(4,8) = "[" │ └── closing_loc: (4,8)-(4,9) = "]" ├── @ MultiWriteNode (location: (5,0)-(5,15)) + │ ├── flags: newline │ ├── lefts: (length: 0) │ ├── rest: │ │ @ SplatNode (location: (5,1)-(5,5)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (5,1)-(5,2) = "*" │ │ └── expression: │ │ @ LocalVariableTargetNode (location: (5,2)-(5,5)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── rights: (length: 0) @@ -92,21 +109,24 @@ │ ├── operator_loc: (5,7)-(5,8) = "=" │ └── value: │ @ ArrayNode (location: (5,9)-(5,15)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (5,10)-(5,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (5,13)-(5,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (5,9)-(5,10) = "[" │ └── closing_loc: (5,14)-(5,15) = "]" ├── @ MultiWriteNode (location: (6,0)-(6,19)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ ClassVariableTargetNode (location: (6,1)-(6,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@@a │ │ └── @ ClassVariableTargetNode (location: (6,6)-(6,9)) + │ │ ├── flags: ∅ │ │ └── name: :@@b │ ├── rest: ∅ │ ├── rights: (length: 0) @@ -115,21 +135,24 @@ │ ├── operator_loc: (6,11)-(6,12) = "=" │ └── value: │ @ ArrayNode (location: (6,13)-(6,19)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (6,14)-(6,15)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (6,17)-(6,18)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (6,13)-(6,14) = "[" │ └── closing_loc: (6,18)-(6,19) = "]" ├── @ MultiWriteNode (location: (7,0)-(7,17)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ InstanceVariableTargetNode (location: (7,1)-(7,3)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@a │ │ └── @ InstanceVariableTargetNode (location: (7,5)-(7,7)) + │ │ ├── flags: ∅ │ │ └── name: :@b │ ├── rest: ∅ │ ├── rights: (length: 0) @@ -138,27 +161,32 @@ │ ├── operator_loc: (7,9)-(7,10) = "=" │ └── value: │ @ ArrayNode (location: (7,11)-(7,17)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (7,12)-(7,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (7,15)-(7,16)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (7,11)-(7,12) = "[" │ └── closing_loc: (7,16)-(7,17) = "]" ├── @ MultiWriteNode (location: (8,0)-(8,25)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (8,1)-(8,2)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ MultiTargetNode (location: (8,4)-(8,10)) + │ │ ├── flags: ∅ │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (8,5)-(8,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :b │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (8,8)-(8,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :c │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -175,28 +203,31 @@ │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (8,15)-(8,16)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ ArrayNode (location: (8,18)-(8,24)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (8,19)-(8,20)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ IntegerNode (location: (8,22)-(8,23)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── opening_loc: (8,18)-(8,19) = "[" │ │ └── closing_loc: (8,23)-(8,24) = "]" │ ├── opening_loc: (8,14)-(8,15) = "[" │ └── closing_loc: (8,24)-(8,25) = "]" ├── @ MultiWriteNode (location: (9,0)-(9,15)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (9,1)-(9,2)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── rest: │ │ @ SplatNode (location: (9,4)-(9,5)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (9,4)-(9,5) = "*" │ │ └── expression: ∅ │ ├── rights: (length: 0) @@ -205,26 +236,30 @@ │ ├── operator_loc: (9,7)-(9,8) = "=" │ └── value: │ @ ArrayNode (location: (9,9)-(9,15)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (9,10)-(9,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (9,13)-(9,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (9,9)-(9,10) = "[" │ └── closing_loc: (9,14)-(9,15) = "]" ├── @ MultiWriteNode (location: (10,0)-(10,18)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (10,1)-(10,2)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── rest: │ │ @ SplatNode (location: (10,4)-(10,8)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (10,4)-(10,5) = "*" │ │ └── expression: │ │ @ LocalVariableTargetNode (location: (10,5)-(10,8)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── rights: (length: 0) @@ -233,22 +268,25 @@ │ ├── operator_loc: (10,10)-(10,11) = "=" │ └── value: │ @ ArrayNode (location: (10,12)-(10,18)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (10,13)-(10,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (10,16)-(10,17)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (10,12)-(10,13) = "[" │ └── closing_loc: (10,17)-(10,18) = "]" ├── @ MultiWriteNode (location: (11,0)-(11,15)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (11,1)-(11,2)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (11,4)-(11,5)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rest: ∅ @@ -258,22 +296,25 @@ │ ├── operator_loc: (11,7)-(11,8) = "=" │ └── value: │ @ ArrayNode (location: (11,9)-(11,15)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (11,10)-(11,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (11,13)-(11,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (11,9)-(11,10) = "[" │ └── closing_loc: (11,14)-(11,15) = "]" ├── @ MultiWriteNode (location: (12,0)-(12,12)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (12,1)-(12,2)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (12,4)-(12,5)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rest: ∅ @@ -283,29 +324,36 @@ │ ├── operator_loc: (12,7)-(12,8) = "=" │ └── value: │ @ LocalVariableReadNode (location: (12,9)-(12,12)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 ├── @ MultiWriteNode (location: (13,0)-(13,10)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (13,1)-(13,2)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── rest: │ │ @ ImplicitRestNode (location: (13,2)-(13,3)) + │ │ └── flags: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: (13,0)-(13,1) = "(" │ ├── rparen_loc: (13,3)-(13,4) = ")" │ ├── operator_loc: (13,5)-(13,6) = "=" │ └── value: │ @ LocalVariableReadNode (location: (13,7)-(13,10)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 ├── @ MultiWriteNode (location: (14,0)-(14,23)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ CallTargetNode (location: (14,1)-(14,6)) │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (14,1)-(14,2)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── call_operator_loc: (14,2)-(14,3) = "." @@ -315,6 +363,7 @@ │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (14,8)-(14,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── call_operator_loc: (14,9)-(14,10) = "." @@ -327,22 +376,24 @@ │ ├── operator_loc: (14,15)-(14,16) = "=" │ └── value: │ @ ArrayNode (location: (14,17)-(14,23)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (14,18)-(14,19)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (14,21)-(14,22)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (14,17)-(14,18) = "[" │ └── closing_loc: (14,22)-(14,23) = "]" ├── @ MultiWriteNode (location: (15,0)-(15,24)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ IndexTargetNode (location: (15,1)-(15,8)) │ │ │ ├── flags: attribute_write │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (15,1)-(15,2)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── opening_loc: (15,2)-(15,3) = "[" @@ -351,9 +402,11 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ SplatNode (location: (15,3)-(15,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (15,3)-(15,4) = "*" │ │ │ │ └── expression: │ │ │ │ @ LocalVariableReadNode (location: (15,4)-(15,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :foo │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: (15,7)-(15,8) = "]" @@ -362,6 +415,7 @@ │ │ ├── flags: attribute_write │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (15,10)-(15,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── opening_loc: (15,11)-(15,12) = "[" @@ -370,7 +424,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (15,12)-(15,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: (15,13)-(15,14) = "]" │ │ └── block: ∅ @@ -381,22 +435,24 @@ │ ├── operator_loc: (15,16)-(15,17) = "=" │ └── value: │ @ ArrayNode (location: (15,18)-(15,24)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (15,19)-(15,20)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (15,22)-(15,23)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (15,18)-(15,19) = "[" │ └── closing_loc: (15,23)-(15,24) = "]" ├── @ MultiWriteNode (location: (16,0)-(16,21)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ IndexTargetNode (location: (16,1)-(16,5)) │ │ │ ├── flags: attribute_write │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (16,1)-(16,2)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── opening_loc: (16,2)-(16,3) = "[" @@ -405,7 +461,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (16,3)-(16,4)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 0 │ │ │ ├── closing_loc: (16,4)-(16,5) = "]" │ │ │ └── block: ∅ @@ -413,6 +469,7 @@ │ │ ├── flags: attribute_write │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (16,7)-(16,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── opening_loc: (16,8)-(16,9) = "[" @@ -421,7 +478,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (16,9)-(16,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: (16,10)-(16,11) = "]" │ │ └── block: ∅ @@ -432,26 +489,29 @@ │ ├── operator_loc: (16,13)-(16,14) = "=" │ └── value: │ @ ArrayNode (location: (16,15)-(16,21)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (16,16)-(16,17)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (16,19)-(16,20)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (16,15)-(16,16) = "[" │ └── closing_loc: (16,20)-(16,21) = "]" ├── @ MultiWriteNode (location: (17,0)-(17,12)) + │ ├── flags: newline │ ├── lefts: (length: 0) │ ├── rest: │ │ @ SplatNode (location: (17,1)-(17,7)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (17,1)-(17,2) = "*" │ │ └── expression: │ │ @ CallTargetNode (location: (17,2)-(17,7)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (17,2)-(17,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :c │ │ │ └── depth: 0 │ │ ├── call_operator_loc: (17,3)-(17,4) = "." @@ -463,11 +523,13 @@ │ ├── operator_loc: (17,9)-(17,10) = "=" │ └── value: │ @ IntegerNode (location: (17,11)-(17,12)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ ConstantPathWriteNode (location: (18,0)-(18,13)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (18,0)-(18,5)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :Foo │ │ ├── delimiter_loc: (18,0)-(18,2) = "::" @@ -475,41 +537,49 @@ │ ├── operator_loc: (18,6)-(18,7) = "=" │ └── value: │ @ ConstantPathNode (location: (18,8)-(18,13)) + │ ├── flags: ∅ │ ├── parent: ∅ │ ├── name: :Bar │ ├── delimiter_loc: (18,8)-(18,10) = "::" │ └── name_loc: (18,10)-(18,13) = "Bar" ├── @ ClassVariableWriteNode (location: (19,0)-(19,7)) + │ ├── flags: newline │ ├── name: :@@a │ ├── name_loc: (19,0)-(19,3) = "@@a" │ ├── value: │ │ @ IntegerNode (location: (19,6)-(19,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (19,4)-(19,5) = "=" ├── @ InstanceVariableWriteNode (location: (20,0)-(20,6)) + │ ├── flags: newline │ ├── name: :@a │ ├── name_loc: (20,0)-(20,2) = "@a" │ ├── value: │ │ @ IntegerNode (location: (20,5)-(20,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (20,3)-(20,4) = "=" ├── @ ConstantWriteNode (location: (21,0)-(21,9)) + │ ├── flags: newline │ ├── name: :CONST │ ├── name_loc: (21,0)-(21,5) = "CONST" │ ├── value: │ │ @ IntegerNode (location: (21,8)-(21,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (21,6)-(21,7) = "=" ├── @ ConstantPathWriteNode (location: (22,0)-(22,23)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (22,0)-(22,19)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantPathNode (location: (22,0)-(22,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantReadNode (location: (22,0)-(22,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Name │ │ │ ├── name: :Spaced │ │ │ ├── delimiter_loc: (22,4)-(22,6) = "::" @@ -520,23 +590,29 @@ │ ├── operator_loc: (22,20)-(22,21) = "=" │ └── value: │ @ IntegerNode (location: (22,22)-(22,23)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ LocalVariableWriteNode (location: (23,0)-(23,16)) + │ ├── flags: newline │ ├── name: :a │ ├── depth: 0 │ ├── name_loc: (23,0)-(23,1) = "a" │ ├── value: │ │ @ ParenthesesNode (location: (23,4)-(23,16)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (23,5)-(23,15)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ MultiWriteNode (location: (23,5)-(23,15)) + │ │ │ ├── flags: newline │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ LocalVariableTargetNode (location: (23,6)-(23,7)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :b │ │ │ │ │ └── depth: 0 │ │ │ │ └── @ LocalVariableTargetNode (location: (23,9)-(23,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :c │ │ │ │ └── depth: 0 │ │ │ ├── rest: ∅ @@ -546,21 +622,23 @@ │ │ │ ├── operator_loc: (23,12)-(23,13) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (23,14)-(23,15)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: (23,4)-(23,5) = "(" │ │ └── closing_loc: (23,15)-(23,16) = ")" │ └── operator_loc: (23,2)-(23,3) = "=" ├── @ LocalVariableWriteNode (location: (24,0)-(24,5)) + │ ├── flags: newline │ ├── name: :a │ ├── depth: 0 │ ├── name_loc: (24,0)-(24,1) = "a" │ ├── value: │ │ @ IntegerNode (location: (24,4)-(24,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (24,2)-(24,3) = "=" ├── @ LocalVariableWriteNode (location: (25,0)-(25,11)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (25,0)-(25,3) = "foo" @@ -577,9 +655,10 @@ │ │ └── block: ∅ │ └── operator_loc: (25,4)-(25,5) = "=" ├── @ CallNode (location: (26,0)-(26,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (26,0)-(26,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (26,3)-(26,4) = "." @@ -590,9 +669,10 @@ │ ├── closing_loc: (26,8)-(26,9) = ")" │ └── block: ∅ ├── @ CallNode (location: (27,0)-(27,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (27,0)-(27,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (27,3)-(27,4) = "." @@ -604,17 +684,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ IntegerNode (location: (27,8)-(27,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (27,11)-(27,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: (27,12)-(27,13) = ")" │ └── block: ∅ ├── @ CallNode (location: (28,0)-(28,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (28,0)-(28,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (28,3)-(28,4) = "." @@ -626,12 +707,14 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ TrueNode (location: (28,7)-(28,11)) + │ │ └── flags: static_literal │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,19)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ LocalVariableReadNode (location: (29,0)-(29,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -643,6 +726,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SplatNode (location: (29,4)-(29,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (29,4)-(29,5) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (29,5)-(29,10)) @@ -668,9 +752,10 @@ │ ├── closing_loc: (29,10)-(29,11) = "]" │ └── block: ∅ ├── @ CallNode (location: (30,0)-(30,17)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ LocalVariableReadNode (location: (30,0)-(30,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -682,14 +767,14 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ RangeNode (location: (30,4)-(30,8)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── left: │ │ │ │ @ IntegerNode (location: (30,4)-(30,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── right: │ │ │ │ @ IntegerNode (location: (30,7)-(30,8)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── operator_loc: (30,5)-(30,7) = ".." │ │ └── @ CallNode (location: (30,12)-(30,17)) @@ -705,9 +790,10 @@ │ ├── closing_loc: (30,8)-(30,9) = "]" │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,9)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ LocalVariableReadNode (location: (31,0)-(31,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -719,14 +805,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (31,8)-(31,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: (31,4)-(31,5) = "]" │ └── block: ∅ ├── @ CallNode (location: (32,0)-(32,17)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ LocalVariableReadNode (location: (32,0)-(32,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -738,9 +825,11 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 3) │ │ ├── @ LocalVariableReadNode (location: (32,4)-(32,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── @ LocalVariableReadNode (location: (32,7)-(32,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ └── @ CallNode (location: (32,12)-(32,17)) @@ -756,9 +845,10 @@ │ ├── closing_loc: (32,8)-(32,9) = "]" │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,18)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ LocalVariableReadNode (location: (33,0)-(33,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -792,6 +882,7 @@ │ ├── closing_loc: (33,9)-(33,10) = "]" │ └── block: ∅ ├── @ LocalVariableWriteNode (location: (34,0)-(34,7)) + │ ├── flags: newline │ ├── name: :x │ ├── depth: 0 │ ├── name_loc: (34,0)-(34,1) = "x" @@ -804,9 +895,10 @@ │ │ └── unescaped: "" │ └── operator_loc: (34,2)-(34,3) = "=" ├── @ CallNode (location: (35,0)-(35,7)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ LocalVariableReadNode (location: (35,0)-(35,1)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── call_operator_loc: (35,1)-(35,2) = "." @@ -826,9 +918,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (36,0)-(36,12)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ LocalVariableReadNode (location: (36,0)-(36,1)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -858,9 +951,10 @@ │ ├── closing_loc: (36,5)-(36,6) = "]" │ └── block: ∅ ├── @ IndexOrWriteNode (location: (37,0)-(37,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (37,0)-(37,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -890,6 +984,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ InstanceVariableOrWriteNode (location: (38,0)-(38,10)) + │ ├── flags: newline │ ├── name: :@a │ ├── name_loc: (38,0)-(38,2) = "@a" │ ├── operator_loc: (38,3)-(38,6) = "||=" @@ -901,6 +996,7 @@ │ ├── closing_loc: (38,9)-(38,10) = ")" │ └── unescaped: "" ├── @ LocalVariableWriteNode (location: (39,0)-(39,14)) + │ ├── flags: newline │ ├── name: :x │ ├── depth: 0 │ ├── name_loc: (39,0)-(39,1) = "x" @@ -910,17 +1006,18 @@ │ │ ├── opening_loc: (39,4)-(39,14) = "<<-HEREDOC" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (40,0)-(40,2)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (40,0)-(40,2) = " " │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " " │ │ │ ├── @ EmbeddedStatementsNode (location: (40,2)-(40,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (40,2)-(40,4) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (40,4)-(40,5) = "}" │ │ │ └── @ StringNode (location: (40,5)-(41,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (40,5)-(41,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -928,9 +1025,10 @@ │ │ └── closing_loc: (41,0)-(42,0) = "HEREDOC\n" │ └── operator_loc: (39,2)-(39,3) = "=" ├── @ CallNode (location: (42,0)-(42,14)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ LocalVariableReadNode (location: (42,0)-(42,1)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── call_operator_loc: (42,1)-(42,2) = "." @@ -946,17 +1044,18 @@ │ │ ├── opening_loc: (42,4)-(42,14) = "<<-HEREDOC" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (43,0)-(43,2)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (43,0)-(43,2) = " " │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " " │ │ │ ├── @ EmbeddedStatementsNode (location: (43,2)-(43,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (43,2)-(43,4) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (43,4)-(43,5) = "}" │ │ │ └── @ StringNode (location: (43,5)-(44,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (43,5)-(44,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -965,9 +1064,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,16)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ LocalVariableReadNode (location: (45,0)-(45,1)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -983,17 +1083,18 @@ │ │ ├── opening_loc: (45,6)-(45,16) = "<<-HEREDOC" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (46,0)-(46,2)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (46,0)-(46,2) = " " │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " " │ │ │ ├── @ EmbeddedStatementsNode (location: (46,2)-(46,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (46,2)-(46,4) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (46,4)-(46,5) = "}" │ │ │ └── @ StringNode (location: (46,5)-(47,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (46,5)-(47,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -1002,9 +1103,10 @@ │ ├── closing_loc: (45,2)-(45,3) = "]" │ └── block: ∅ ├── @ IndexOrWriteNode (location: (48,0)-(48,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (48,0)-(48,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -1018,17 +1120,18 @@ │ │ ├── opening_loc: (48,2)-(48,12) = "<<-HEREDOC" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (49,0)-(49,2)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (49,0)-(49,2) = " " │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " " │ │ │ ├── @ EmbeddedStatementsNode (location: (49,2)-(49,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (49,2)-(49,4) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (49,4)-(49,5) = "}" │ │ │ └── @ StringNode (location: (49,5)-(50,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (49,5)-(50,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -1049,6 +1152,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ InstanceVariableOrWriteNode (location: (51,0)-(51,17)) + ├── flags: newline ├── name: :@a ├── name_loc: (51,0)-(51,2) = "@a" ├── operator_loc: (51,3)-(51,6) = "||=" @@ -1058,17 +1162,18 @@ ├── opening_loc: (51,7)-(51,17) = "<<-HEREDOC" ├── parts: (length: 3) │ ├── @ StringNode (location: (52,0)-(52,2)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (52,0)-(52,2) = " " │ │ ├── closing_loc: ∅ │ │ └── unescaped: " " │ ├── @ EmbeddedStatementsNode (location: (52,2)-(52,5)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (52,2)-(52,4) = "\#{" │ │ ├── statements: ∅ │ │ └── closing_loc: (52,4)-(52,5) = "}" │ └── @ StringNode (location: (52,5)-(53,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (52,5)-(53,0) = "\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/block.txt b/test/prism/snapshots/unparser/corpus/literal/block.txt index b4c86d0b04..63cd76d683 100644 --- a/test/prism/snapshots/unparser/corpus/literal/block.txt +++ b/test/prism/snapshots/unparser/corpus/literal/block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(96,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(96,1)) + ├── flags: ∅ └── body: (length: 30) ├── @ CallNode (location: (1,0)-(2,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,13 +16,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,4)-(2,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,4)-(1,5) = "{" │ └── closing_loc: (2,0)-(2,1) = "}" ├── @ CallNode (location: (3,0)-(4,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -30,11 +33,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,4)-(4,1)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (3,6)-(3,9)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (3,7)-(3,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,8)) │ │ │ │ ├── flags: ∅ @@ -52,7 +58,7 @@ │ ├── opening_loc: (3,4)-(3,5) = "{" │ └── closing_loc: (4,0)-(4,1) = "}" ├── @ CallNode (location: (5,0)-(6,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -62,11 +68,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,4)-(6,1)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (5,6)-(5,10)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (5,7)-(5,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,8)) │ │ │ │ ├── flags: ∅ @@ -74,6 +83,7 @@ │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: │ │ │ │ @ ImplicitRestNode (location: (5,8)-(5,9)) + │ │ │ │ └── flags: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) │ │ │ ├── keyword_rest: ∅ @@ -85,7 +95,7 @@ │ ├── opening_loc: (5,4)-(5,5) = "{" │ └── closing_loc: (6,0)-(6,1) = "}" ├── @ CallNode (location: (7,0)-(8,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -95,11 +105,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (7,4)-(8,1)) + │ ├── flags: ∅ │ ├── locals: [:a, :x] │ ├── parameters: │ │ @ BlockParametersNode (location: (7,6)-(7,13)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (7,7)-(7,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,8)) │ │ │ │ ├── flags: ∅ @@ -107,6 +120,7 @@ │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: │ │ │ │ @ ImplicitRestNode (location: (7,8)-(7,9)) + │ │ │ │ └── flags: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) │ │ │ ├── keyword_rest: ∅ @@ -121,7 +135,7 @@ │ ├── opening_loc: (7,4)-(7,5) = "{" │ └── closing_loc: (8,0)-(8,1) = "}" ├── @ CallNode (location: (9,0)-(10,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -131,11 +145,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (9,4)-(10,1)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (9,6)-(9,12)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (9,7)-(9,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (9,7)-(9,8)) │ │ │ │ │ ├── flags: ∅ @@ -156,7 +173,7 @@ │ ├── opening_loc: (9,4)-(9,5) = "{" │ └── closing_loc: (10,0)-(10,1) = "}" ├── @ CallNode (location: (11,0)-(13,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -167,21 +184,24 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (11,4)-(11,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: (11,5)-(11,6) = ")" │ └── block: │ @ BlockNode (location: (11,7)-(13,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (12,2)-(12,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (12,2)-(12,5)) + │ │ └── flags: newline, static_literal │ ├── opening_loc: (11,7)-(11,8) = "{" │ └── closing_loc: (13,0)-(13,1) = "}" ├── @ CallNode (location: (14,0)-(16,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -191,11 +211,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (14,4)-(16,1)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (14,6)-(14,13)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (14,7)-(14,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (14,7)-(14,8)) │ │ │ │ ├── flags: ∅ @@ -216,12 +239,14 @@ │ │ └── closing_loc: (14,12)-(14,13) = "|" │ ├── body: │ │ @ StatementsNode (location: (15,2)-(15,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (15,2)-(15,5)) + │ │ └── flags: newline, static_literal │ ├── opening_loc: (14,4)-(14,5) = "{" │ └── closing_loc: (16,0)-(16,1) = "}" ├── @ CallNode (location: (17,0)-(19,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -231,11 +256,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (17,4)-(19,1)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (17,6)-(17,12)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (17,7)-(17,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (17,7)-(17,8)) │ │ │ │ ├── flags: ∅ @@ -256,12 +284,14 @@ │ │ └── closing_loc: (17,11)-(17,12) = "|" │ ├── body: │ │ @ StatementsNode (location: (18,2)-(18,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (18,2)-(18,5)) + │ │ └── flags: newline, static_literal │ ├── opening_loc: (17,4)-(17,5) = "{" │ └── closing_loc: (19,0)-(19,1) = "}" ├── @ CallNode (location: (20,0)-(22,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -271,13 +301,15 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (20,4)-(22,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (21,2)-(21,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (21,2)-(21,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -289,7 +321,7 @@ │ ├── opening_loc: (20,4)-(20,5) = "{" │ └── closing_loc: (22,0)-(22,1) = "}" ├── @ CallNode (location: (23,0)-(25,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -309,13 +341,17 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (23,8)-(25,1)) + │ ├── flags: ∅ │ ├── locals: [:a, :b, :c] │ ├── parameters: │ │ @ BlockParametersNode (location: (23,10)-(23,21)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (23,11)-(23,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ MultiTargetNode (location: (23,11)-(23,17)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ │ ├── @ RequiredParameterNode (location: (23,12)-(23,13)) │ │ │ │ │ │ │ ├── flags: ∅ @@ -341,9 +377,10 @@ │ │ └── closing_loc: (23,20)-(23,21) = "|" │ ├── body: │ │ @ StatementsNode (location: (24,2)-(24,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (24,2)-(24,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -355,7 +392,7 @@ │ ├── opening_loc: (23,8)-(23,9) = "{" │ └── closing_loc: (25,0)-(25,1) = "}" ├── @ CallNode (location: (26,0)-(27,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (26,0)-(26,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -375,11 +412,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (26,8)-(27,1)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (26,10)-(26,17)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (26,11)-(26,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: @@ -402,7 +442,7 @@ │ ├── opening_loc: (26,8)-(26,9) = "{" │ └── closing_loc: (27,0)-(27,1) = "}" ├── @ CallNode (location: (28,0)-(29,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (28,0)-(28,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -422,11 +462,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (28,8)-(29,1)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (28,10)-(28,16)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (28,11)-(28,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (28,11)-(28,12)) │ │ │ │ ├── flags: ∅ @@ -447,7 +490,7 @@ │ ├── opening_loc: (28,8)-(28,9) = "{" │ └── closing_loc: (29,0)-(29,1) = "}" ├── @ CallNode (location: (30,0)-(31,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (30,0)-(30,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -467,9 +510,11 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (30,8)-(31,1)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (30,10)-(30,18)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 2) │ │ │ ├── @ BlockLocalVariableNode (location: (30,13)-(30,14)) @@ -484,7 +529,7 @@ │ ├── opening_loc: (30,8)-(30,9) = "{" │ └── closing_loc: (31,0)-(31,1) = "}" ├── @ CallNode (location: (32,0)-(34,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (32,0)-(32,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -504,11 +549,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (32,8)-(34,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: │ │ @ BlockParametersNode (location: (32,10)-(32,13)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (32,11)-(32,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: @@ -526,9 +574,10 @@ │ │ └── closing_loc: (32,12)-(32,13) = "|" │ ├── body: │ │ @ StatementsNode (location: (33,2)-(33,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (33,2)-(33,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -540,7 +589,7 @@ │ ├── opening_loc: (32,8)-(32,9) = "{" │ └── closing_loc: (34,0)-(34,1) = "}" ├── @ CallNode (location: (35,0)-(37,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (35,0)-(35,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -560,16 +609,21 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (35,8)-(37,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: │ │ @ BlockParametersNode (location: (35,10)-(35,15)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (35,11)-(35,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ MultiTargetNode (location: (35,11)-(35,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 0) │ │ │ │ ├── rest: │ │ │ │ │ @ SplatNode (location: (35,12)-(35,13)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── operator_loc: (35,12)-(35,13) = "*" │ │ │ │ │ └── expression: ∅ │ │ │ │ ├── rights: (length: 0) @@ -586,9 +640,10 @@ │ │ └── closing_loc: (35,14)-(35,15) = "|" │ ├── body: │ │ @ StatementsNode (location: (36,2)-(36,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (36,2)-(36,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -600,7 +655,7 @@ │ ├── opening_loc: (35,8)-(35,9) = "{" │ └── closing_loc: (37,0)-(37,1) = "}" ├── @ CallNode (location: (38,0)-(40,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (38,0)-(38,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -620,18 +675,24 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (38,8)-(40,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: │ │ @ BlockParametersNode (location: (38,10)-(38,17)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (38,11)-(38,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ MultiTargetNode (location: (38,11)-(38,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 1) │ │ │ │ │ └── @ MultiTargetNode (location: (38,12)-(38,15)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── lefts: (length: 0) │ │ │ │ │ ├── rest: │ │ │ │ │ │ @ SplatNode (location: (38,13)-(38,14)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── operator_loc: (38,13)-(38,14) = "*" │ │ │ │ │ │ └── expression: ∅ │ │ │ │ │ ├── rights: (length: 0) @@ -652,9 +713,10 @@ │ │ └── closing_loc: (38,16)-(38,17) = "|" │ ├── body: │ │ @ StatementsNode (location: (39,2)-(39,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (39,2)-(39,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -666,7 +728,7 @@ │ ├── opening_loc: (38,8)-(38,9) = "{" │ └── closing_loc: (40,0)-(40,1) = "}" ├── @ CallNode (location: (41,0)-(43,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (41,0)-(41,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -686,21 +748,27 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (41,8)-(43,1)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (41,10)-(41,20)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (41,11)-(41,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ MultiTargetNode (location: (41,11)-(41,19)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ ├── @ RequiredParameterNode (location: (41,12)-(41,13)) │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── name: :a │ │ │ │ │ └── @ MultiTargetNode (location: (41,15)-(41,18)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── lefts: (length: 0) │ │ │ │ │ ├── rest: │ │ │ │ │ │ @ SplatNode (location: (41,16)-(41,17)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── operator_loc: (41,16)-(41,17) = "*" │ │ │ │ │ │ └── expression: ∅ │ │ │ │ │ ├── rights: (length: 0) @@ -721,9 +789,10 @@ │ │ └── closing_loc: (41,19)-(41,20) = "|" │ ├── body: │ │ @ StatementsNode (location: (42,2)-(42,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (42,2)-(42,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -735,7 +804,7 @@ │ ├── opening_loc: (41,8)-(41,9) = "{" │ └── closing_loc: (43,0)-(43,1) = "}" ├── @ CallNode (location: (44,0)-(46,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (44,0)-(44,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -755,13 +824,17 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (44,8)-(46,1)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (44,10)-(44,18)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (44,11)-(44,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ MultiTargetNode (location: (44,11)-(44,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ ├── @ RequiredParameterNode (location: (44,12)-(44,13)) │ │ │ │ │ │ ├── flags: ∅ @@ -784,9 +857,10 @@ │ │ └── closing_loc: (44,17)-(44,18) = "|" │ ├── body: │ │ @ StatementsNode (location: (45,2)-(45,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (45,2)-(45,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d @@ -798,7 +872,7 @@ │ ├── opening_loc: (44,8)-(44,9) = "{" │ └── closing_loc: (46,0)-(46,1) = "}" ├── @ CallNode (location: (47,0)-(48,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (47,0)-(48,1)) │ │ ├── flags: ∅ @@ -821,6 +895,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (47,8)-(48,1)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -834,7 +909,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (49,0)-(51,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -844,21 +919,26 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (49,2)-(51,3)) + │ ├── flags: ∅ │ ├── locals: [:e] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (49,2)-(51,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (50,0)-(50,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue" │ │ │ ├── exceptions: (length: 1) │ │ │ │ └── @ ConstantReadNode (location: (50,7)-(50,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Exception │ │ │ ├── operator_loc: (50,17)-(50,19) = "=>" │ │ │ ├── reference: │ │ │ │ @ LocalVariableTargetNode (location: (50,20)-(50,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :e │ │ │ │ └── depth: 0 │ │ │ ├── statements: ∅ @@ -869,7 +949,7 @@ │ ├── opening_loc: (49,2)-(49,4) = "do" │ └── closing_loc: (51,0)-(51,3) = "end" ├── @ CallNode (location: (52,0)-(56,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -879,16 +959,19 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (52,2)-(56,3)) + │ ├── flags: ∅ │ ├── locals: [:bar] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (52,2)-(56,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (53,2)-(53,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (53,2)-(53,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -899,19 +982,24 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (54,0)-(55,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (54,0)-(54,6) = "rescue" │ │ │ ├── exceptions: (length: 1) │ │ │ │ └── @ ConstantReadNode (location: (54,7)-(54,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Exception │ │ │ ├── operator_loc: (54,17)-(54,19) = "=>" │ │ │ ├── reference: │ │ │ │ @ LocalVariableTargetNode (location: (54,20)-(54,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :bar │ │ │ │ └── depth: 0 │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (55,2)-(55,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (55,2)-(55,5)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :bar │ │ │ │ └── depth: 0 │ │ │ └── consequent: ∅ @@ -921,7 +1009,7 @@ │ ├── opening_loc: (52,2)-(52,4) = "do" │ └── closing_loc: (56,0)-(56,3) = "end" ├── @ CallNode (location: (57,0)-(61,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -931,16 +1019,19 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (57,2)-(61,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (57,2)-(61,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (58,2)-(58,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (58,2)-(58,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -951,11 +1042,14 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (59,0)-(60,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (59,0)-(59,6) = "rescue" │ │ │ ├── exceptions: (length: 2) │ │ │ │ ├── @ ConstantReadNode (location: (59,7)-(59,16)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :SomeError │ │ │ │ └── @ SplatNode (location: (59,18)-(59,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (59,18)-(59,19) = "*" │ │ │ │ └── expression: │ │ │ │ @ CallNode (location: (59,19)-(59,22)) @@ -972,9 +1066,10 @@ │ │ │ ├── reference: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (60,2)-(60,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (60,2)-(60,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -990,7 +1085,7 @@ │ ├── opening_loc: (57,2)-(57,4) = "do" │ └── closing_loc: (61,0)-(61,3) = "end" ├── @ CallNode (location: (62,0)-(66,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1000,16 +1095,19 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (62,2)-(66,3)) + │ ├── flags: ∅ │ ├── locals: [:exception] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (62,2)-(66,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (63,2)-(63,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (63,2)-(63,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -1020,11 +1118,14 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (64,0)-(65,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (64,0)-(64,6) = "rescue" │ │ │ ├── exceptions: (length: 2) │ │ │ │ ├── @ ConstantReadNode (location: (64,7)-(64,16)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :SomeError │ │ │ │ └── @ SplatNode (location: (64,18)-(64,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (64,18)-(64,19) = "*" │ │ │ │ └── expression: │ │ │ │ @ CallNode (location: (64,19)-(64,22)) @@ -1040,13 +1141,15 @@ │ │ │ ├── operator_loc: (64,23)-(64,25) = "=>" │ │ │ ├── reference: │ │ │ │ @ LocalVariableTargetNode (location: (64,26)-(64,35)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :exception │ │ │ │ └── depth: 0 │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (65,2)-(65,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (65,2)-(65,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -1062,7 +1165,7 @@ │ ├── opening_loc: (62,2)-(62,4) = "do" │ └── closing_loc: (66,0)-(66,3) = "end" ├── @ CallNode (location: (67,0)-(71,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1072,16 +1175,19 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (67,2)-(71,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (67,2)-(71,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (68,2)-(68,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (68,2)-(68,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -1092,9 +1198,11 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (69,0)-(70,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (69,0)-(69,6) = "rescue" │ │ │ ├── exceptions: (length: 1) │ │ │ │ └── @ SplatNode (location: (69,7)-(69,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (69,7)-(69,8) = "*" │ │ │ │ └── expression: │ │ │ │ @ CallNode (location: (69,8)-(69,11)) @@ -1111,9 +1219,10 @@ │ │ │ ├── reference: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (70,2)-(70,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (70,2)-(70,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -1129,7 +1238,7 @@ │ ├── opening_loc: (67,2)-(67,4) = "do" │ └── closing_loc: (71,0)-(71,3) = "end" ├── @ CallNode (location: (72,0)-(75,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1139,16 +1248,19 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (72,2)-(75,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (72,2)-(75,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (73,2)-(73,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (73,2)-(73,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -1159,9 +1271,11 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (74,0)-(74,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue" │ │ │ ├── exceptions: (length: 1) │ │ │ │ └── @ ConstantReadNode (location: (74,7)-(74,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :LoadError │ │ │ ├── operator_loc: ∅ │ │ │ ├── reference: ∅ @@ -1173,7 +1287,7 @@ │ ├── opening_loc: (72,2)-(72,4) = "do" │ └── closing_loc: (75,0)-(75,3) = "end" ├── @ CallNode (location: (76,0)-(81,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1183,16 +1297,19 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (76,2)-(81,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (76,2)-(81,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (77,2)-(77,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (77,2)-(77,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -1203,6 +1320,7 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (78,0)-(78,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (78,0)-(78,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -1211,12 +1329,14 @@ │ │ │ └── consequent: ∅ │ │ ├── else_clause: │ │ │ @ ElseNode (location: (79,0)-(81,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── else_keyword_loc: (79,0)-(79,4) = "else" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (80,2)-(80,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (80,2)-(80,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -1231,7 +1351,7 @@ │ ├── opening_loc: (76,2)-(76,4) = "do" │ └── closing_loc: (81,0)-(81,3) = "end" ├── @ CallNode (location: (82,0)-(86,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1241,16 +1361,19 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (82,2)-(86,3)) + │ ├── flags: ∅ │ ├── locals: [:exception] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (82,2)-(86,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (83,2)-(83,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (83,2)-(83,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -1261,9 +1384,11 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (84,0)-(85,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (84,0)-(84,6) = "rescue" │ │ │ ├── exceptions: (length: 1) │ │ │ │ └── @ SplatNode (location: (84,7)-(84,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (84,7)-(84,8) = "*" │ │ │ │ └── expression: │ │ │ │ @ CallNode (location: (84,8)-(84,11)) @@ -1279,13 +1404,15 @@ │ │ │ ├── operator_loc: (84,12)-(84,14) = "=>" │ │ │ ├── reference: │ │ │ │ @ LocalVariableTargetNode (location: (84,15)-(84,24)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :exception │ │ │ │ └── depth: 0 │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (85,2)-(85,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (85,2)-(85,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -1301,7 +1428,7 @@ │ ├── opening_loc: (82,2)-(82,4) = "do" │ └── closing_loc: (86,0)-(86,3) = "end" ├── @ CallNode (location: (87,0)-(89,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1311,16 +1438,19 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (87,2)-(89,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (87,2)-(89,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: ∅ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (88,0)-(89,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (88,0)-(88,6) = "ensure" │ │ │ ├── statements: ∅ │ │ │ └── end_keyword_loc: (89,0)-(89,3) = "end" @@ -1328,7 +1458,7 @@ │ ├── opening_loc: (87,2)-(87,4) = "do" │ └── closing_loc: (89,0)-(89,3) = "end" ├── @ CallNode (location: (90,0)-(93,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -1338,14 +1468,17 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (90,2)-(93,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (90,2)-(93,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (91,0)-(91,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (91,0)-(91,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -1355,6 +1488,7 @@ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (92,0)-(93,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (92,0)-(92,6) = "ensure" │ │ │ ├── statements: ∅ │ │ │ └── end_keyword_loc: (93,0)-(93,3) = "end" @@ -1362,7 +1496,7 @@ │ ├── opening_loc: (90,2)-(90,4) = "do" │ └── closing_loc: (93,0)-(93,3) = "end" └── @ CallNode (location: (94,0)-(96,1)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :bar @@ -1372,17 +1506,21 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (94,4)-(96,1)) + ├── flags: ∅ ├── locals: [:_1, :_2] ├── parameters: │ @ NumberedParametersNode (location: (94,4)-(96,1)) + │ ├── flags: ∅ │ └── maximum: 2 ├── body: │ @ StatementsNode (location: (95,2)-(95,9)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (95,2)-(95,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (95,2)-(95,4)) + │ │ ├── flags: ∅ │ │ ├── name: :_1 │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -1394,6 +1532,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (95,7)-(95,9)) + │ │ ├── flags: ∅ │ │ ├── name: :_2 │ │ └── depth: 0 │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/case.txt b/test/prism/snapshots/unparser/corpus/literal/case.txt index 509caa55c8..f7b279dffc 100644 --- a/test/prism/snapshots/unparser/corpus/literal/case.txt +++ b/test/prism/snapshots/unparser/corpus/literal/case.txt @@ -1,12 +1,16 @@ @ ProgramNode (location: (1,0)-(37,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(37,3)) + ├── flags: ∅ └── body: (length: 8) ├── @ CaseNode (location: (1,0)-(6,3)) + │ ├── flags: newline │ ├── predicate: ∅ │ ├── conditions: (length: 2) │ │ ├── @ WhenNode (location: (2,0)-(3,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (2,0)-(2,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (2,5)-(2,8)) @@ -22,9 +26,10 @@ │ │ │ ├── then_keyword_loc: ∅ │ │ │ └── statements: │ │ │ @ StatementsNode (location: (3,2)-(3,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,2)-(3,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -34,6 +39,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ WhenNode (location: (4,0)-(5,5)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (4,0)-(4,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (4,5)-(4,8)) @@ -49,9 +55,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (5,2)-(5,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,2)-(5,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -64,6 +71,7 @@ │ ├── case_keyword_loc: (1,0)-(1,4) = "case" │ └── end_keyword_loc: (6,0)-(6,3) = "end" ├── @ CaseNode (location: (7,0)-(11,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (7,5)-(7,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -77,6 +85,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 2) │ │ ├── @ WhenNode (location: (8,0)-(8,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (8,0)-(8,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (8,5)-(8,8)) @@ -92,6 +101,7 @@ │ │ │ ├── then_keyword_loc: ∅ │ │ │ └── statements: ∅ │ │ └── @ WhenNode (location: (9,0)-(10,5)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (9,0)-(9,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (9,5)-(9,8)) @@ -107,9 +117,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (10,2)-(10,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (10,2)-(10,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -122,6 +133,7 @@ │ ├── case_keyword_loc: (7,0)-(7,4) = "case" │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ CaseNode (location: (12,0)-(17,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (12,5)-(12,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -135,6 +147,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 2) │ │ ├── @ WhenNode (location: (13,0)-(14,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (13,0)-(13,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (13,5)-(13,8)) @@ -150,9 +163,10 @@ │ │ │ ├── then_keyword_loc: ∅ │ │ │ └── statements: │ │ │ @ StatementsNode (location: (14,2)-(14,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (14,2)-(14,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -162,6 +176,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ WhenNode (location: (15,0)-(16,5)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (15,0)-(15,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (15,5)-(15,8)) @@ -177,9 +192,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (16,2)-(16,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (16,2)-(16,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -192,6 +208,7 @@ │ ├── case_keyword_loc: (12,0)-(12,4) = "case" │ └── end_keyword_loc: (17,0)-(17,3) = "end" ├── @ CaseNode (location: (18,0)-(21,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (18,5)-(18,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -205,6 +222,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (19,0)-(20,8)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (19,0)-(19,4) = "when" │ │ ├── conditions: (length: 2) │ │ │ ├── @ CallNode (location: (19,5)-(19,8)) @@ -230,9 +248,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (20,2)-(20,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (20,2)-(20,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (20,2)-(20,3) = ":" │ │ ├── value_loc: (20,3)-(20,8) = "other" │ │ ├── closing_loc: ∅ @@ -241,6 +260,7 @@ │ ├── case_keyword_loc: (18,0)-(18,4) = "case" │ └── end_keyword_loc: (21,0)-(21,3) = "end" ├── @ CaseNode (location: (22,0)-(25,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (22,5)-(22,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -254,9 +274,11 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (23,0)-(24,8)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (23,0)-(23,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ SplatNode (location: (23,5)-(23,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (23,5)-(23,6) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (23,6)-(23,9)) @@ -272,9 +294,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (24,2)-(24,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (24,2)-(24,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (24,2)-(24,3) = ":" │ │ ├── value_loc: (24,3)-(24,8) = "value" │ │ ├── closing_loc: ∅ @@ -283,6 +306,7 @@ │ ├── case_keyword_loc: (22,0)-(22,4) = "case" │ └── end_keyword_loc: (25,0)-(25,3) = "end" ├── @ CaseNode (location: (26,0)-(31,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (26,5)-(26,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -296,6 +320,7 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (27,0)-(28,5)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (27,0)-(27,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ CallNode (location: (27,5)-(27,8)) @@ -311,9 +336,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (28,2)-(28,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (28,2)-(28,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -324,12 +350,14 @@ │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (29,0)-(31,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (29,0)-(29,4) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (30,2)-(30,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (30,2)-(30,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (30,2)-(30,3) = ":" │ │ │ ├── value_loc: (30,3)-(30,6) = "foo" │ │ │ ├── closing_loc: ∅ @@ -338,6 +366,7 @@ │ ├── case_keyword_loc: (26,0)-(26,4) = "case" │ └── end_keyword_loc: (31,0)-(31,3) = "end" ├── @ CaseNode (location: (32,0)-(34,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (32,5)-(32,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -351,9 +380,11 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ WhenNode (location: (33,0)-(33,15)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (33,0)-(33,4) = "when" │ │ ├── conditions: (length: 1) │ │ │ └── @ SplatNode (location: (33,5)-(33,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (33,5)-(33,6) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (33,6)-(33,15)) @@ -395,6 +426,7 @@ │ ├── case_keyword_loc: (32,0)-(32,4) = "case" │ └── end_keyword_loc: (34,0)-(34,3) = "end" └── @ CaseNode (location: (35,0)-(37,3)) + ├── flags: newline ├── predicate: │ @ CallNode (location: (35,5)-(35,8)) │ ├── flags: variable_call, ignore_visibility @@ -408,9 +440,11 @@ │ └── block: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (36,0)-(36,15)) + │ ├── flags: ∅ │ ├── keyword_loc: (36,0)-(36,4) = "when" │ ├── conditions: (length: 1) │ │ └── @ SplatNode (location: (36,5)-(36,15)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (36,5)-(36,6) = "*" │ │ └── expression: │ │ @ CallNode (location: (36,6)-(36,15)) @@ -435,7 +469,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (36,14)-(36,15)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/class.txt b/test/prism/snapshots/unparser/corpus/literal/class.txt index 5306888398..add60ce305 100644 --- a/test/prism/snapshots/unparser/corpus/literal/class.txt +++ b/test/prism/snapshots/unparser/corpus/literal/class.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(35,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(35,3)) + ├── flags: ∅ └── body: (length: 10) ├── @ ClassNode (location: (1,0)-(2,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (1,0)-(1,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (1,6)-(1,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ @@ -15,6 +19,7 @@ │ ├── end_keyword_loc: (2,0)-(2,3) = "end" │ └── name: :A ├── @ SingletonClassNode (location: (4,0)-(5,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (4,0)-(4,5) = "class" │ ├── operator_loc: (4,6)-(4,8) = "<<" @@ -32,6 +37,7 @@ │ ├── body: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" ├── @ SingletonClassNode (location: (7,0)-(9,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (7,0)-(7,5) = "class" │ ├── operator_loc: (7,6)-(7,8) = "<<" @@ -48,9 +54,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (8,2)-(8,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (8,2)-(8,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -61,12 +68,15 @@ │ │ └── block: ∅ │ └── end_keyword_loc: (9,0)-(9,3) = "end" ├── @ ClassNode (location: (11,0)-(12,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (11,0)-(11,5) = "class" │ ├── constant_path: │ │ @ ConstantPathNode (location: (11,6)-(11,10)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (11,6)-(11,7)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── name: :B │ │ ├── delimiter_loc: (11,7)-(11,9) = "::" @@ -77,14 +87,18 @@ │ ├── end_keyword_loc: (12,0)-(12,3) = "end" │ └── name: :B ├── @ ClassNode (location: (14,0)-(15,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (14,0)-(14,5) = "class" │ ├── constant_path: │ │ @ ConstantPathNode (location: (14,6)-(14,13)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantPathNode (location: (14,6)-(14,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantReadNode (location: (14,6)-(14,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :A │ │ │ ├── name: :B │ │ │ ├── delimiter_loc: (14,7)-(14,9) = "::" @@ -98,29 +112,36 @@ │ ├── end_keyword_loc: (15,0)-(15,3) = "end" │ └── name: :C ├── @ ClassNode (location: (17,0)-(18,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (17,0)-(17,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (17,6)-(17,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: (17,8)-(17,9) = "<" │ ├── superclass: │ │ @ ConstantReadNode (location: (17,10)-(17,11)) + │ │ ├── flags: ∅ │ │ └── name: :B │ ├── body: ∅ │ ├── end_keyword_loc: (18,0)-(18,3) = "end" │ └── name: :A ├── @ ClassNode (location: (20,0)-(21,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (20,0)-(20,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (20,6)-(20,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: (20,8)-(20,9) = "<" │ ├── superclass: │ │ @ ConstantPathNode (location: (20,10)-(20,14)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (20,10)-(20,11)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :B │ │ ├── name: :C │ │ ├── delimiter_loc: (20,11)-(20,13) = "::" @@ -129,12 +150,15 @@ │ ├── end_keyword_loc: (21,0)-(21,3) = "end" │ └── name: :A ├── @ ClassNode (location: (23,0)-(24,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (23,0)-(23,5) = "class" │ ├── constant_path: │ │ @ ConstantPathNode (location: (23,6)-(23,10)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (23,6)-(23,7)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── name: :B │ │ ├── delimiter_loc: (23,7)-(23,9) = "::" @@ -142,8 +166,10 @@ │ ├── inheritance_operator_loc: (23,11)-(23,12) = "<" │ ├── superclass: │ │ @ ConstantPathNode (location: (23,13)-(23,17)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (23,13)-(23,14)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :C │ │ ├── name: :D │ │ ├── delimiter_loc: (23,14)-(23,16) = "::" @@ -152,18 +178,21 @@ │ ├── end_keyword_loc: (24,0)-(24,3) = "end" │ └── name: :B ├── @ ClassNode (location: (26,0)-(32,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (26,0)-(26,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (26,6)-(26,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ StatementsNode (location: (27,2)-(31,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (27,2)-(27,16)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :include @@ -177,6 +206,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ ├── receiver: │ │ │ │ │ @ ConstantReadNode (location: (27,10)-(27,11)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :B │ │ │ │ ├── call_operator_loc: (27,11)-(27,12) = "." │ │ │ │ ├── name: :new @@ -188,15 +218,17 @@ │ │ │ ├── closing_loc: (27,15)-(27,16) = ")" │ │ │ └── block: ∅ │ │ └── @ DefNode (location: (29,2)-(31,5)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── name_loc: (29,6)-(29,9) = "foo" │ │ ├── receiver: ∅ │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (30,4)-(30,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ SymbolNode (location: (30,4)-(30,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (30,4)-(30,5) = ":" │ │ │ ├── value_loc: (30,5)-(30,8) = "bar" │ │ │ ├── closing_loc: ∅ @@ -211,10 +243,12 @@ │ ├── end_keyword_loc: (32,0)-(32,3) = "end" │ └── name: :A └── @ ClassNode (location: (34,0)-(35,3)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (34,0)-(34,5) = "class" ├── constant_path: │ @ ConstantPathNode (location: (34,6)-(34,9)) + │ ├── flags: ∅ │ ├── parent: ∅ │ ├── name: :A │ ├── delimiter_loc: (34,6)-(34,8) = "::" diff --git a/test/prism/snapshots/unparser/corpus/literal/def.txt b/test/prism/snapshots/unparser/corpus/literal/def.txt index f3ef6c388e..405c4f3fb8 100644 --- a/test/prism/snapshots/unparser/corpus/literal/def.txt +++ b/test/prism/snapshots/unparser/corpus/literal/def.txt @@ -1,21 +1,26 @@ @ ProgramNode (location: (1,0)-(134,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(134,3)) + ├── flags: ∅ └── body: (length: 30) ├── @ DefNode (location: (1,0)-(9,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (1,0)-(9,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (2,2)-(2,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -26,15 +31,17 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (3,0)-(4,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (3,0)-(3,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ │ │ │ ├── reference: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (4,2)-(4,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (4,2)-(4,3)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -46,12 +53,14 @@ │ │ │ └── consequent: ∅ │ │ ├── else_clause: │ │ │ @ ElseNode (location: (5,0)-(7,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── else_keyword_loc: (5,0)-(5,4) = "else" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (6,2)-(6,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (6,2)-(6,3)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -63,12 +72,14 @@ │ │ │ └── end_keyword_loc: (7,0)-(7,6) = "ensure" │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (7,0)-(9,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (7,0)-(7,6) = "ensure" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (8,2)-(8,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (8,2)-(8,3)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :d @@ -87,17 +98,21 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (9,0)-(9,3) = "end" ├── @ DefNode (location: (11,0)-(19,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (11,4)-(11,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (11,0)-(19,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (12,2)-(12,12)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ RescueModifierNode (location: (12,2)-(12,12)) + │ │ │ ├── flags: newline │ │ │ ├── expression: │ │ │ │ @ CallNode (location: (12,2)-(12,3)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -123,15 +138,17 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (13,0)-(14,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (13,0)-(13,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ │ │ │ ├── reference: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (14,2)-(14,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (14,2)-(14,3)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :b @@ -143,12 +160,14 @@ │ │ │ └── consequent: ∅ │ │ ├── else_clause: │ │ │ @ ElseNode (location: (15,0)-(17,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── else_keyword_loc: (15,0)-(15,4) = "else" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (16,2)-(16,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (16,2)-(16,3)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -160,12 +179,14 @@ │ │ │ └── end_keyword_loc: (17,0)-(17,6) = "ensure" │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (17,0)-(19,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (17,0)-(17,6) = "ensure" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (18,2)-(18,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (18,2)-(18,3)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :d @@ -184,11 +205,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (19,0)-(19,3) = "end" ├── @ DefNode (location: (21,0)-(22,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (21,4)-(21,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (21,8)-(21,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -213,6 +236,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (22,0)-(22,3) = "end" ├── @ DefNode (location: (24,0)-(25,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (24,4)-(24,7) = "foo" │ ├── receiver: ∅ @@ -226,15 +250,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (25,0)-(25,3) = "end" ├── @ DefNode (location: (27,0)-(29,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (27,4)-(27,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (28,2)-(28,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (28,2)-(28,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -251,18 +277,21 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (29,0)-(29,3) = "end" ├── @ DefNode (location: (31,0)-(37,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (31,4)-(31,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (31,0)-(37,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (32,2)-(32,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (32,2)-(32,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -273,15 +302,17 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (33,0)-(34,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (33,0)-(33,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ │ │ │ ├── reference: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (34,2)-(34,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (34,2)-(34,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :bar @@ -294,12 +325,14 @@ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (35,0)-(37,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (35,0)-(35,6) = "ensure" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (36,2)-(36,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (36,2)-(36,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -318,18 +351,21 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (37,0)-(37,3) = "end" ├── @ DefNode (location: (39,0)-(43,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (39,4)-(39,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (39,0)-(43,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (40,2)-(40,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (40,2)-(40,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -342,12 +378,14 @@ │ │ ├── else_clause: ∅ │ │ ├── ensure_clause: │ │ │ @ EnsureNode (location: (41,0)-(43,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── ensure_keyword_loc: (41,0)-(41,6) = "ensure" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (42,2)-(42,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (42,2)-(42,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -366,18 +404,21 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (43,0)-(43,3) = "end" ├── @ DefNode (location: (45,0)-(49,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (45,4)-(45,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (45,0)-(49,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (46,2)-(46,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (46,2)-(46,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -388,15 +429,17 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (47,0)-(48,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (47,0)-(47,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ │ │ │ ├── reference: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (48,2)-(48,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (48,2)-(48,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -417,11 +460,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (49,0)-(49,3) = "end" ├── @ DefNode (location: (51,0)-(53,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (51,4)-(51,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (51,8)-(51,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (51,8)-(51,11)) │ │ │ ├── flags: ∅ @@ -434,8 +479,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (52,2)-(52,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (52,2)-(52,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── locals: [:bar] @@ -446,11 +493,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (53,0)-(53,3) = "end" ├── @ DefNode (location: (55,0)-(57,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (55,4)-(55,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (55,8)-(55,16)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (55,8)-(55,11)) │ │ │ │ ├── flags: ∅ @@ -466,8 +515,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (56,2)-(56,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (56,2)-(56,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── locals: [:bar, :baz] @@ -478,11 +529,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (57,0)-(57,3) = "end" ├── @ DefNode (location: (59,0)-(61,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (59,4)-(59,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (59,8)-(59,16)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (59,8)-(59,16)) @@ -492,6 +545,7 @@ │ │ │ ├── operator_loc: (59,12)-(59,13) = "=" │ │ │ └── value: │ │ │ @ ParenthesesNode (location: (59,14)-(59,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (59,14)-(59,15) = "(" │ │ │ └── closing_loc: (59,15)-(59,16) = ")" @@ -502,8 +556,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (60,2)-(60,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (60,2)-(60,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── locals: [:bar] @@ -514,11 +570,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (61,0)-(61,3) = "end" ├── @ DefNode (location: (63,0)-(64,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (63,4)-(63,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (63,8)-(63,24)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (63,8)-(63,24)) @@ -528,11 +586,13 @@ │ │ │ ├── operator_loc: (63,12)-(63,13) = "=" │ │ │ └── value: │ │ │ @ ParenthesesNode (location: (63,14)-(63,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (63,15)-(63,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 2) │ │ │ │ ├── @ CallNode (location: (63,15)-(63,18)) - │ │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ │ ├── receiver: ∅ │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :baz @@ -542,6 +602,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: ∅ │ │ │ │ └── @ NilNode (location: (63,20)-(63,23)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── opening_loc: (63,14)-(63,15) = "(" │ │ │ └── closing_loc: (63,23)-(63,24) = ")" │ │ ├── rest: ∅ @@ -558,11 +619,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (64,0)-(64,3) = "end" ├── @ DefNode (location: (66,0)-(68,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (66,4)-(66,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (66,8)-(66,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (66,8)-(66,18)) @@ -572,6 +635,7 @@ │ │ │ ├── operator_loc: (66,12)-(66,13) = "=" │ │ │ └── value: │ │ │ @ TrueNode (location: (66,14)-(66,18)) + │ │ │ └── flags: static_literal │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) │ │ ├── keywords: (length: 0) @@ -579,8 +643,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (67,2)-(67,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (67,2)-(67,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── locals: [:bar] @@ -591,11 +657,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (68,0)-(68,3) = "end" ├── @ DefNode (location: (70,0)-(72,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (70,4)-(70,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (70,8)-(70,23)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (70,8)-(70,11)) │ │ │ ├── flags: ∅ @@ -608,6 +676,7 @@ │ │ │ ├── operator_loc: (70,17)-(70,18) = "=" │ │ │ └── value: │ │ │ @ TrueNode (location: (70,19)-(70,23)) + │ │ │ └── flags: static_literal │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) │ │ ├── keywords: (length: 0) @@ -615,8 +684,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (71,2)-(71,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (71,2)-(71,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── locals: [:bar, :baz] @@ -627,11 +698,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (72,0)-(72,3) = "end" ├── @ DefNode (location: (74,0)-(75,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (74,4)-(74,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (74,8)-(74,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -643,7 +716,7 @@ │ │ │ ├── name_loc: (74,8)-(74,12) = "bar:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (74,13)-(74,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ @@ -656,11 +729,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (75,0)-(75,3) = "end" ├── @ DefNode (location: (77,0)-(78,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (77,4)-(77,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (77,8)-(77,16)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -692,11 +767,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (78,0)-(78,3) = "end" ├── @ DefNode (location: (80,0)-(81,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (80,4)-(80,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (80,8)-(80,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -728,11 +805,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (81,0)-(81,3) = "end" ├── @ DefNode (location: (83,0)-(85,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (83,4)-(83,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (83,8)-(83,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -747,9 +826,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (84,2)-(84,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (84,2)-(84,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -766,11 +846,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (85,0)-(85,3) = "end" ├── @ DefNode (location: (87,0)-(89,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (87,4)-(87,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (87,8)-(87,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -785,8 +867,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (88,2)-(88,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (88,2)-(88,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── locals: [:bar] @@ -797,11 +881,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (89,0)-(89,3) = "end" ├── @ DefNode (location: (91,0)-(93,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (91,4)-(91,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (91,8)-(91,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (91,8)-(91,11)) │ │ │ ├── flags: ∅ @@ -819,8 +905,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (92,2)-(92,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (92,2)-(92,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── locals: [:bar, :baz] @@ -831,11 +919,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (93,0)-(93,3) = "end" ├── @ DefNode (location: (95,0)-(97,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (95,4)-(95,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (95,8)-(95,24)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (95,8)-(95,18)) @@ -845,6 +935,7 @@ │ │ │ ├── operator_loc: (95,12)-(95,13) = "=" │ │ │ └── value: │ │ │ @ TrueNode (location: (95,14)-(95,18)) + │ │ │ └── flags: static_literal │ │ ├── rest: │ │ │ @ RestParameterNode (location: (95,20)-(95,24)) │ │ │ ├── flags: ∅ @@ -857,9 +948,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (96,2)-(96,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (96,2)-(96,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -876,11 +968,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (97,0)-(97,3) = "end" ├── @ DefNode (location: (99,0)-(101,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (99,4)-(99,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (99,8)-(99,32)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (99,8)-(99,18)) @@ -890,6 +984,7 @@ │ │ │ ├── operator_loc: (99,12)-(99,13) = "=" │ │ │ └── value: │ │ │ @ TrueNode (location: (99,14)-(99,18)) + │ │ │ └── flags: static_literal │ │ ├── rest: │ │ │ @ RestParameterNode (location: (99,20)-(99,24)) │ │ │ ├── flags: ∅ @@ -907,9 +1002,10 @@ │ │ └── operator_loc: (99,26)-(99,27) = "&" │ ├── body: │ │ @ StatementsNode (location: (100,2)-(100,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (100,2)-(100,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -926,11 +1022,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (101,0)-(101,3) = "end" ├── @ DefNode (location: (103,0)-(105,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (103,4)-(103,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (103,8)-(103,29)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (103,8)-(103,11)) │ │ │ ├── flags: ∅ @@ -943,6 +1041,7 @@ │ │ │ ├── operator_loc: (103,17)-(103,18) = "=" │ │ │ └── value: │ │ │ @ TrueNode (location: (103,19)-(103,23)) + │ │ │ └── flags: static_literal │ │ ├── rest: │ │ │ @ RestParameterNode (location: (103,25)-(103,29)) │ │ │ ├── flags: ∅ @@ -955,8 +1054,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (104,2)-(104,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (104,2)-(104,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── locals: [:bar, :baz, :bor] @@ -967,11 +1068,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (105,0)-(105,3) = "end" ├── @ DefNode (location: (107,0)-(109,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (107,4)-(107,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (107,8)-(107,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -986,9 +1089,10 @@ │ │ └── operator_loc: (107,8)-(107,9) = "&" │ ├── body: │ │ @ StatementsNode (location: (108,2)-(108,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (108,2)-(108,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -1005,11 +1109,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (109,0)-(109,3) = "end" ├── @ DefNode (location: (111,0)-(113,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (111,4)-(111,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (111,8)-(111,19)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (111,8)-(111,11)) │ │ │ ├── flags: ∅ @@ -1027,8 +1133,10 @@ │ │ └── operator_loc: (111,13)-(111,14) = "&" │ ├── body: │ │ @ StatementsNode (location: (112,2)-(112,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (112,2)-(112,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── locals: [:bar, :block] @@ -1039,15 +1147,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (113,0)-(113,3) = "end" ├── @ DefNode (location: (115,0)-(118,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (115,4)-(115,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (116,2)-(117,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (116,2)-(116,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -1057,7 +1167,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (117,2)-(117,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -1074,15 +1184,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (118,0)-(118,3) = "end" ├── @ DefNode (location: (120,0)-(121,3)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (120,4)-(120,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (120,6)-(120,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (120,6)-(120,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ MultiTargetNode (location: (120,7)-(120,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (120,8)-(120,9)) │ │ │ │ │ ├── flags: ∅ @@ -1110,11 +1224,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (121,0)-(121,3) = "end" ├── @ DefNode (location: (123,0)-(124,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (123,4)-(123,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (123,8)-(123,26)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -1146,29 +1262,32 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (124,0)-(124,3) = "end" ├── @ DefNode (location: (126,0)-(130,3)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (126,4)-(126,5) = "f" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (127,2)-(127,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ InterpolatedStringNode (location: (127,2)-(127,12)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (127,2)-(127,12) = "<<-HEREDOC" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (128,0)-(128,4)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (128,0)-(128,4) = " " │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " " │ │ │ ├── @ EmbeddedStatementsNode (location: (128,4)-(128,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (128,4)-(128,6) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (128,6)-(128,7) = "}" │ │ │ └── @ StringNode (location: (128,7)-(129,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (128,7)-(129,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -1182,15 +1301,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (130,0)-(130,3) = "end" └── @ DefNode (location: (132,0)-(134,3)) + ├── flags: newline ├── name: :f ├── name_loc: (132,4)-(132,5) = "f" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (133,2)-(133,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ StringNode (location: (133,2)-(133,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (133,2)-(133,4) = "%(" │ ├── content_loc: (133,4)-(133,4) = "" │ ├── closing_loc: (133,4)-(133,5) = ")" diff --git a/test/prism/snapshots/unparser/corpus/literal/defined.txt b/test/prism/snapshots/unparser/corpus/literal/defined.txt index 89145ddcda..d1b5a15685 100644 --- a/test/prism/snapshots/unparser/corpus/literal/defined.txt +++ b/test/prism/snapshots/unparser/corpus/literal/defined.txt @@ -1,35 +1,47 @@ @ ProgramNode (location: (1,0)-(3,27)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(3,27)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefinedNode (location: (1,0)-(1,14)) + │ ├── flags: newline │ ├── lparen_loc: (1,8)-(1,9) = "(" │ ├── value: │ │ @ InstanceVariableReadNode (location: (1,9)-(1,13)) + │ │ ├── flags: ∅ │ │ └── name: :@foo │ ├── rparen_loc: (1,13)-(1,14) = ")" │ └── keyword_loc: (1,0)-(1,8) = "defined?" ├── @ DefinedNode (location: (2,0)-(2,13)) + │ ├── flags: newline │ ├── lparen_loc: (2,8)-(2,9) = "(" │ ├── value: │ │ @ ConstantReadNode (location: (2,9)-(2,12)) + │ │ ├── flags: ∅ │ │ └── name: :Foo │ ├── rparen_loc: (2,12)-(2,13) = ")" │ └── keyword_loc: (2,0)-(2,8) = "defined?" └── @ DefinedNode (location: (3,0)-(3,27)) + ├── flags: newline ├── lparen_loc: (3,8)-(3,9) = "(" ├── value: │ @ ParenthesesNode (location: (3,9)-(3,26)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,10)-(3,25)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ MultiWriteNode (location: (3,10)-(3,25)) + │ │ ├── flags: newline │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (3,11)-(3,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (3,14)-(3,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -39,13 +51,13 @@ │ │ ├── operator_loc: (3,17)-(3,18) = "=" │ │ └── value: │ │ @ ArrayNode (location: (3,19)-(3,25)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (3,20)-(3,21)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (3,23)-(3,24)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: (3,19)-(3,20) = "[" │ │ └── closing_loc: (3,24)-(3,25) = "]" diff --git a/test/prism/snapshots/unparser/corpus/literal/defs.txt b/test/prism/snapshots/unparser/corpus/literal/defs.txt index 7858877172..33c24f3b24 100644 --- a/test/prism/snapshots/unparser/corpus/literal/defs.txt +++ b/test/prism/snapshots/unparser/corpus/literal/defs.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(40,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(40,3)) + ├── flags: ∅ └── body: (length: 10) ├── @ DefNode (location: (1,0)-(2,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,9)-(1,12) = "foo" │ ├── receiver: │ │ @ SelfNode (location: (1,4)-(1,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -18,16 +22,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (2,0)-(2,3) = "end" ├── @ DefNode (location: (4,0)-(6,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (4,9)-(4,12) = "foo" │ ├── receiver: │ │ @ SelfNode (location: (4,4)-(4,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,2)-(5,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,2)-(5,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -44,16 +51,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (6,0)-(6,3) = "end" ├── @ DefNode (location: (8,0)-(11,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (8,9)-(8,12) = "foo" │ ├── receiver: │ │ @ SelfNode (location: (8,4)-(8,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (9,2)-(10,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (9,2)-(9,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -63,7 +73,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (10,2)-(10,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -80,17 +90,20 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ DefNode (location: (13,0)-(15,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (13,8)-(13,11) = "bar" │ ├── receiver: │ │ @ ConstantReadNode (location: (13,4)-(13,7)) + │ │ ├── flags: ∅ │ │ └── name: :Foo │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (14,2)-(14,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (14,2)-(14,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -107,10 +120,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (15,0)-(15,3) = "end" ├── @ DefNode (location: (17,0)-(20,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (18,3)-(18,6) = "bar" │ ├── receiver: │ │ @ ParenthesesNode (location: (17,4)-(18,2)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ CallNode (location: (17,5)-(18,1)) │ │ │ ├── flags: ignore_visibility @@ -123,11 +138,14 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (17,9)-(18,1)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [:bar] │ │ │ ├── parameters: │ │ │ │ @ BlockParametersNode (location: (17,11)-(17,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── parameters: │ │ │ │ │ @ ParametersNode (location: (17,12)-(17,15)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ │ └── @ RequiredParameterNode (location: (17,12)-(17,15)) │ │ │ │ │ │ ├── flags: ∅ @@ -149,9 +167,10 @@ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (19,2)-(19,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (19,2)-(19,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -168,10 +187,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (20,0)-(20,3) = "end" ├── @ DefNode (location: (22,0)-(24,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (22,13)-(22,16) = "bar" │ ├── receiver: │ │ @ ParenthesesNode (location: (22,4)-(22,12)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ CallNode (location: (22,5)-(22,11)) │ │ │ ├── flags: ignore_visibility @@ -185,7 +206,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (22,9)-(22,10)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── closing_loc: (22,10)-(22,11) = ")" │ │ │ └── block: ∅ @@ -194,9 +215,10 @@ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (23,2)-(23,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (23,2)-(23,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -213,17 +235,21 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (24,0)-(24,3) = "end" ├── @ DefNode (location: (26,0)-(28,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (26,19)-(26,22) = "bar" │ ├── receiver: │ │ @ ParenthesesNode (location: (26,4)-(26,18)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ CallNode (location: (26,5)-(26,17)) │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ ConstantPathNode (location: (26,5)-(26,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── parent: │ │ │ │ │ @ ConstantReadNode (location: (26,5)-(26,8)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :Foo │ │ │ │ ├── name: :Bar │ │ │ │ ├── delimiter_loc: (26,8)-(26,10) = "::" @@ -240,9 +266,10 @@ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (27,2)-(27,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (27,2)-(27,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -259,14 +286,18 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (28,0)-(28,3) = "end" ├── @ DefNode (location: (30,0)-(32,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (30,15)-(30,18) = "bar" │ ├── receiver: │ │ @ ParenthesesNode (location: (30,4)-(30,14)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ ConstantPathNode (location: (30,5)-(30,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantReadNode (location: (30,5)-(30,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Foo │ │ │ ├── name: :Bar │ │ │ ├── delimiter_loc: (30,8)-(30,10) = "::" @@ -276,9 +307,10 @@ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (31,2)-(31,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (31,2)-(31,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -295,17 +327,20 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (32,0)-(32,3) = "end" ├── @ DefNode (location: (34,0)-(36,3)) + │ ├── flags: newline │ ├── name: :bar │ ├── name_loc: (34,8)-(34,11) = "bar" │ ├── receiver: │ │ @ ConstantReadNode (location: (34,4)-(34,7)) + │ │ ├── flags: ∅ │ │ └── name: :Foo │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (35,2)-(35,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (35,2)-(35,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -322,6 +357,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (36,0)-(36,3) = "end" └── @ DefNode (location: (38,0)-(40,3)) + ├── flags: newline ├── name: :bar ├── name_loc: (38,8)-(38,11) = "bar" ├── receiver: @@ -338,9 +374,10 @@ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (39,2)-(39,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (39,2)-(39,5)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :baz diff --git a/test/prism/snapshots/unparser/corpus/literal/dstr.txt b/test/prism/snapshots/unparser/corpus/literal/dstr.txt index 8893e8b75d..3092360608 100644 --- a/test/prism/snapshots/unparser/corpus/literal/dstr.txt +++ b/test/prism/snapshots/unparser/corpus/literal/dstr.txt @@ -1,26 +1,32 @@ @ ProgramNode (location: (1,0)-(37,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(37,1)) + ├── flags: ∅ └── body: (length: 11) ├── @ IfNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (1,3)-(1,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,2)-(2,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ InterpolatedStringNode (location: (2,2)-(2,8)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (2,2)-(2,3) = "\"" │ │ ├── parts: (length: 2) │ │ │ ├── @ EmbeddedStatementsNode (location: (2,3)-(2,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (2,3)-(2,5) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (2,5)-(2,6) = "}" │ │ │ └── @ StringNode (location: (2,6)-(2,7)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (2,6)-(2,7) = "a" │ │ │ ├── closing_loc: ∅ @@ -29,36 +35,40 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ IfNode (location: (4,0)-(11,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (4,0)-(4,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (4,3)-(4,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (5,2)-(10,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ InterpolatedStringNode (location: (5,2)-(5,12)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── opening_loc: (5,2)-(5,12) = "<<-HEREDOC" │ │ │ ├── parts: (length: 3) │ │ │ │ ├── @ StringNode (location: (6,0)-(7,0)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (6,0)-(7,0) = "a\n" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "a\n" │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,0)-(7,3)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── opening_loc: (7,0)-(7,2) = "\#{" │ │ │ │ │ ├── statements: ∅ │ │ │ │ │ └── closing_loc: (7,2)-(7,3) = "}" │ │ │ │ └── @ StringNode (location: (7,3)-(9,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (7,3)-(9,0) = "a\nb\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "a\nb\n" │ │ │ └── closing_loc: (9,0)-(10,0) = " HEREDOC\n" │ │ └── @ CallNode (location: (10,2)-(10,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :x @@ -70,58 +80,63 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ InterpolatedStringNode (location: (12,0)-(12,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (12,0)-(12,10) = "<<-HEREDOC" │ ├── parts: (length: 7) │ │ ├── @ StringNode (location: (13,0)-(14,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (13,0)-(14,0) = "\\\#{}\\\#{}\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\#{}\#{}\n" │ │ ├── @ EmbeddedStatementsNode (location: (14,0)-(14,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (14,0)-(14,2) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (14,2)-(14,3) = "}" │ │ ├── @ StringNode (location: (14,3)-(15,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (14,3)-(15,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ ├── @ EmbeddedStatementsNode (location: (15,0)-(15,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (15,0)-(15,2) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (15,2)-(15,3) = "}" │ │ ├── @ StringNode (location: (15,3)-(16,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (15,3)-(16,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ ├── @ EmbeddedStatementsNode (location: (16,0)-(16,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (16,0)-(16,2) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (16,2)-(16,3) = "}" │ │ └── @ StringNode (location: (16,3)-(17,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (16,3)-(17,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── closing_loc: (17,0)-(18,0) = "HEREDOC\n" ├── @ RescueModifierNode (location: (18,0)-(18,21)) + │ ├── flags: newline │ ├── expression: │ │ @ InterpolatedStringNode (location: (18,0)-(18,10)) │ │ ├── flags: ∅ │ │ ├── opening_loc: (18,0)-(18,10) = "<<-HEREDOC" │ │ ├── parts: (length: 2) │ │ │ ├── @ EmbeddedStatementsNode (location: (19,0)-(19,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (19,0)-(19,2) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (19,2)-(19,3) = "}" │ │ │ └── @ StringNode (location: (19,3)-(21,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (19,3)-(21,0) = "\na\n" │ │ │ ├── closing_loc: ∅ @@ -130,80 +145,92 @@ │ ├── keyword_loc: (18,11)-(18,17) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (18,18)-(18,21)) + │ └── flags: static_literal ├── @ InterpolatedStringNode (location: (22,0)-(22,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (22,0)-(22,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (22,1)-(22,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (22,1)-(22,2) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ EmbeddedVariableNode (location: (22,2)-(22,5)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (22,2)-(22,3) = "#" │ │ └── variable: │ │ @ NumberedReferenceReadNode (location: (22,3)-(22,5)) + │ │ ├── flags: ∅ │ │ └── number: 1 │ └── closing_loc: (22,5)-(22,6) = "\"" ├── @ InterpolatedStringNode (location: (23,0)-(23,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (23,0)-(23,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (23,1)-(23,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (23,1)-(23,2) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ EmbeddedVariableNode (location: (23,2)-(23,5)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (23,2)-(23,3) = "#" │ │ └── variable: │ │ @ GlobalVariableReadNode (location: (23,3)-(23,5)) + │ │ ├── flags: ∅ │ │ └── name: :$a │ └── closing_loc: (23,5)-(23,6) = "\"" ├── @ InterpolatedStringNode (location: (24,0)-(24,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (24,0)-(24,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (24,1)-(24,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (24,1)-(24,2) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ EmbeddedVariableNode (location: (24,2)-(24,5)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (24,2)-(24,3) = "#" │ │ └── variable: │ │ @ InstanceVariableReadNode (location: (24,3)-(24,5)) + │ │ ├── flags: ∅ │ │ └── name: :@a │ └── closing_loc: (24,5)-(24,6) = "\"" ├── @ InterpolatedStringNode (location: (25,0)-(25,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (25,0)-(25,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (25,1)-(25,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (25,1)-(25,2) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ EmbeddedVariableNode (location: (25,2)-(25,6)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (25,2)-(25,3) = "#" │ │ └── variable: │ │ @ ClassVariableReadNode (location: (25,3)-(25,6)) + │ │ ├── flags: ∅ │ │ └── name: :@@a │ └── closing_loc: (25,6)-(25,7) = "\"" ├── @ IfNode (location: (26,0)-(30,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (26,0)-(26,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (26,3)-(26,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (27,2)-(27,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ReturnNode (location: (27,2)-(27,19)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (27,2)-(27,8) = "return" │ │ └── arguments: │ │ @ ArgumentsNode (location: (27,9)-(27,19)) @@ -214,22 +241,24 @@ │ │ ├── opening_loc: (27,9)-(27,19) = "<<-HEREDOC" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (28,0)-(28,4)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (28,0)-(28,4) = " " │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " " │ │ │ ├── @ EmbeddedStatementsNode (location: (28,4)-(28,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (28,4)-(28,6) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (28,6)-(28,8)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (28,6)-(28,8)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 42 │ │ │ │ └── closing_loc: (28,8)-(28,9) = "}" │ │ │ └── @ StringNode (location: (28,9)-(29,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (28,9)-(29,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -238,7 +267,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (30,0)-(30,3) = "end" ├── @ CallNode (location: (31,0)-(31,15)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -253,15 +282,17 @@ │ │ ├── opening_loc: (31,4)-(31,14) = "<<-HEREDOC" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (32,0)-(32,2)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (32,0)-(32,2) = " " │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " " │ │ │ ├── @ EmbeddedStatementsNode (location: (32,2)-(32,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (32,2)-(32,4) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (32,4)-(32,7)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (32,4)-(32,7)) │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -275,7 +306,7 @@ │ │ │ │ │ └── block: ∅ │ │ │ │ └── closing_loc: (32,7)-(32,8) = "}" │ │ │ └── @ StringNode (location: (32,8)-(33,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (32,8)-(33,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -284,7 +315,7 @@ │ ├── closing_loc: (31,14)-(31,15) = ")" │ └── block: ∅ └── @ CallNode (location: (34,0)-(37,1)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -299,15 +330,17 @@ │ ├── opening_loc: (34,4)-(34,14) = "<<-HEREDOC" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (35,0)-(35,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (35,0)-(35,2) = " " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " " │ │ ├── @ EmbeddedStatementsNode (location: (35,2)-(35,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (35,2)-(35,4) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (35,4)-(35,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (35,4)-(35,7)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -321,7 +354,7 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (35,7)-(35,8) = "}" │ │ └── @ StringNode (location: (35,8)-(36,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (35,8)-(36,0) = "\n" │ │ ├── closing_loc: ∅ @@ -330,11 +363,14 @@ ├── closing_loc: (34,14)-(34,15) = ")" └── block: @ BlockNode (location: (34,16)-(37,1)) + ├── flags: ∅ ├── locals: [:x] ├── parameters: │ @ BlockParametersNode (location: (34,18)-(34,21)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (34,19)-(34,20)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (34,19)-(34,20)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/empty.txt b/test/prism/snapshots/unparser/corpus/literal/empty.txt index 3a21ce5559..5756285aaf 100644 --- a/test/prism/snapshots/unparser/corpus/literal/empty.txt +++ b/test/prism/snapshots/unparser/corpus/literal/empty.txt @@ -1,5 +1,7 @@ @ ProgramNode (location: (1,0)-(1,0)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,0)) + ├── flags: ∅ └── body: (length: 0) diff --git a/test/prism/snapshots/unparser/corpus/literal/empty_begin.txt b/test/prism/snapshots/unparser/corpus/literal/empty_begin.txt index 838b4bf6f0..25dc0b26a2 100644 --- a/test/prism/snapshots/unparser/corpus/literal/empty_begin.txt +++ b/test/prism/snapshots/unparser/corpus/literal/empty_begin.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,2)) + ├── flags: ∅ └── body: (length: 1) └── @ ParenthesesNode (location: (1,0)-(1,2)) + ├── flags: newline ├── body: ∅ ├── opening_loc: (1,0)-(1,1) = "(" └── closing_loc: (1,1)-(1,2) = ")" diff --git a/test/prism/snapshots/unparser/corpus/literal/flipflop.txt b/test/prism/snapshots/unparser/corpus/literal/flipflop.txt index 2d9f669e6f..4c21f6c305 100644 --- a/test/prism/snapshots/unparser/corpus/literal/flipflop.txt +++ b/test/prism/snapshots/unparser/corpus/literal/flipflop.txt @@ -1,24 +1,31 @@ @ ProgramNode (location: (1,0)-(10,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(10,3)) + ├── flags: ∅ └── body: (length: 4) ├── @ IfNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ ParenthesesNode (location: (1,3)-(1,23)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,4)-(1,22)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ FlipFlopNode (location: (1,4)-(1,22)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── left: │ │ │ │ @ ParenthesesNode (location: (1,4)-(1,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (1,5)-(1,11)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (1,5)-(1,11)) - │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── receiver: │ │ │ │ │ │ @ CallNode (location: (1,5)-(1,6)) │ │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -39,7 +46,7 @@ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 4 │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: ∅ @@ -47,11 +54,13 @@ │ │ │ │ └── closing_loc: (1,11)-(1,12) = ")" │ │ │ ├── right: │ │ │ │ @ ParenthesesNode (location: (1,14)-(1,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (1,15)-(1,21)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (1,15)-(1,21)) - │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── receiver: │ │ │ │ │ │ @ CallNode (location: (1,15)-(1,16)) │ │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -72,7 +81,7 @@ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ │ └── @ IntegerNode (location: (1,20)-(1,21)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 4 │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: ∅ @@ -84,9 +93,10 @@ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,2)-(2,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -98,21 +108,26 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ IfNode (location: (4,0)-(6,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (4,0)-(4,2) = "if" │ ├── predicate: │ │ @ ParenthesesNode (location: (4,3)-(4,24)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (4,4)-(4,23)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ FlipFlopNode (location: (4,4)-(4,23)) - │ │ │ ├── flags: exclude_end + │ │ │ ├── flags: newline, exclude_end │ │ │ ├── left: │ │ │ │ @ ParenthesesNode (location: (4,4)-(4,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (4,5)-(4,11)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (4,5)-(4,11)) - │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── receiver: │ │ │ │ │ │ @ CallNode (location: (4,5)-(4,6)) │ │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -133,7 +148,7 @@ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ │ └── @ IntegerNode (location: (4,10)-(4,11)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 4 │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: ∅ @@ -141,11 +156,13 @@ │ │ │ │ └── closing_loc: (4,11)-(4,12) = ")" │ │ │ ├── right: │ │ │ │ @ ParenthesesNode (location: (4,15)-(4,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (4,16)-(4,22)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (4,16)-(4,22)) - │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── receiver: │ │ │ │ │ │ @ CallNode (location: (4,16)-(4,17)) │ │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -166,7 +183,7 @@ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ │ └── @ IntegerNode (location: (4,21)-(4,22)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 4 │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: ∅ @@ -178,9 +195,10 @@ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (5,2)-(5,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,2)-(5,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -192,6 +210,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (6,0)-(6,3) = "end" ├── @ IfNode (location: (7,0)-(8,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (7,0)-(7,2) = "if" │ ├── predicate: │ │ @ FlipFlopNode (location: (7,3)-(7,8)) @@ -214,6 +233,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (8,0)-(8,3) = "end" └── @ IfNode (location: (9,0)-(10,3)) + ├── flags: newline ├── if_keyword_loc: (9,0)-(9,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (9,3)-(9,8)) diff --git a/test/prism/snapshots/unparser/corpus/literal/for.txt b/test/prism/snapshots/unparser/corpus/literal/for.txt index 660c6b73f3..a1722a8a09 100644 --- a/test/prism/snapshots/unparser/corpus/literal/for.txt +++ b/test/prism/snapshots/unparser/corpus/literal/for.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(12,3)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(12,3)) + ├── flags: ∅ └── body: (length: 4) ├── @ CallNode (location: (1,0)-(3,4)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -15,8 +17,10 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ForNode (location: (1,4)-(3,3)) + │ │ ├── flags: ∅ │ │ ├── index: │ │ │ @ LocalVariableTargetNode (location: (1,8)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── collection: @@ -32,9 +36,10 @@ │ │ │ └── block: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (2,2)-(2,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -50,8 +55,10 @@ │ ├── closing_loc: (3,3)-(3,4) = ")" │ └── block: ∅ ├── @ ForNode (location: (4,0)-(6,3)) + │ ├── flags: newline │ ├── index: │ │ @ LocalVariableTargetNode (location: (4,4)-(4,5)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── collection: @@ -67,9 +74,10 @@ │ │ └── block: ∅ │ ├── statements: │ │ @ StatementsNode (location: (5,2)-(5,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,2)-(5,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -83,17 +91,22 @@ │ ├── do_keyword_loc: (4,13)-(4,15) = "do" │ └── end_keyword_loc: (6,0)-(6,3) = "end" ├── @ ForNode (location: (7,0)-(9,3)) + │ ├── flags: newline │ ├── index: │ │ @ MultiTargetNode (location: (7,4)-(7,11)) + │ │ ├── flags: ∅ │ │ ├── lefts: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (7,5)-(7,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ SplatNode (location: (7,8)-(7,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (7,8)-(7,9) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableTargetNode (location: (7,9)-(7,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rights: (length: 0) @@ -112,9 +125,10 @@ │ │ └── block: ∅ │ ├── statements: │ │ @ StatementsNode (location: (8,2)-(8,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (8,2)-(8,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -128,13 +142,17 @@ │ ├── do_keyword_loc: (7,19)-(7,21) = "do" │ └── end_keyword_loc: (9,0)-(9,3) = "end" └── @ ForNode (location: (10,0)-(12,3)) + ├── flags: newline ├── index: │ @ MultiTargetNode (location: (10,4)-(10,10)) + │ ├── flags: ∅ │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (10,5)-(10,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (10,8)-(10,9)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rest: ∅ @@ -154,9 +172,10 @@ │ └── block: ∅ ├── statements: │ @ StatementsNode (location: (11,2)-(11,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (11,2)-(11,5)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :baz diff --git a/test/prism/snapshots/unparser/corpus/literal/hookexe.txt b/test/prism/snapshots/unparser/corpus/literal/hookexe.txt index dabedbc588..bbcb8fee1b 100644 --- a/test/prism/snapshots/unparser/corpus/literal/hookexe.txt +++ b/test/prism/snapshots/unparser/corpus/literal/hookexe.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(7,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,1)) + ├── flags: ∅ └── body: (length: 3) ├── @ PreExecutionNode (location: (1,0)-(3,1)) + │ ├── flags: newline │ ├── statements: │ │ @ StatementsNode (location: (2,2)-(2,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -21,7 +25,7 @@ │ ├── opening_loc: (1,6)-(1,7) = "{" │ └── closing_loc: (3,0)-(3,1) = "}" ├── @ CallNode (location: (4,0)-(4,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -31,11 +35,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ PostExecutionNode (location: (5,0)-(7,1)) + ├── flags: newline ├── statements: │ @ StatementsNode (location: (6,2)-(6,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (6,2)-(6,5)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :baz diff --git a/test/prism/snapshots/unparser/corpus/literal/if.txt b/test/prism/snapshots/unparser/corpus/literal/if.txt index 00eeba179c..f4a18c0c12 100644 --- a/test/prism/snapshots/unparser/corpus/literal/if.txt +++ b/test/prism/snapshots/unparser/corpus/literal/if.txt @@ -1,13 +1,16 @@ @ ProgramNode (location: (1,0)-(36,3)) +├── flags: ∅ ├── locals: [:foo, :pair] └── statements: @ StatementsNode (location: (1,0)-(36,3)) + ├── flags: ∅ └── body: (length: 10) ├── @ IfNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ MatchLastLineNode (location: (1,3)-(1,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,3)-(1,4) = "/" │ │ ├── content_loc: (1,4)-(1,7) = "foo" │ │ ├── closing_loc: (1,7)-(1,8) = "/" @@ -15,9 +18,10 @@ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (2,2)-(2,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -29,73 +33,85 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ IfNode (location: (4,0)-(6,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (4,0)-(4,2) = "if" │ ├── predicate: │ │ @ IntegerNode (location: (4,3)-(4,4)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (5,2)-(5,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (5,2)-(5,3)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 9 │ ├── consequent: ∅ │ └── end_keyword_loc: (6,0)-(6,3) = "end" ├── @ IfNode (location: (7,0)-(11,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (7,0)-(7,2) = "if" │ ├── predicate: │ │ @ IntegerNode (location: (7,3)-(7,4)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 4 │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (8,2)-(8,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (8,2)-(8,3)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 5 │ ├── consequent: │ │ @ ElseNode (location: (9,0)-(11,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (9,0)-(9,4) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (10,2)-(10,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (10,2)-(10,3)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 6 │ │ └── end_keyword_loc: (11,0)-(11,3) = "end" │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ UnlessNode (location: (12,0)-(14,3)) + │ ├── flags: newline │ ├── keyword_loc: (12,0)-(12,6) = "unless" │ ├── predicate: │ │ @ IntegerNode (location: (12,7)-(12,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (13,2)-(13,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (13,2)-(13,5)) + │ │ └── flags: newline, static_literal │ ├── consequent: ∅ │ └── end_keyword_loc: (14,0)-(14,3) = "end" ├── @ UnlessNode (location: (15,0)-(17,3)) + │ ├── flags: newline │ ├── keyword_loc: (15,0)-(15,6) = "unless" │ ├── predicate: │ │ @ IntegerNode (location: (15,7)-(15,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (16,2)-(16,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (16,2)-(16,3)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 9 │ ├── consequent: ∅ │ └── end_keyword_loc: (17,0)-(17,3) = "end" ├── @ IfNode (location: (18,0)-(19,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (18,0)-(18,2) = "if" │ ├── predicate: │ │ @ CallNode (location: (18,3)-(18,6)) @@ -113,25 +129,32 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (19,0)-(19,3) = "end" ├── @ ModuleNode (location: (21,0)-(23,3)) + │ ├── flags: newline │ ├── locals: [:foo] │ ├── module_keyword_loc: (21,0)-(21,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (21,7)-(21,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (22,2)-(22,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IfNode (location: (22,2)-(22,18)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (22,12)-(22,14) = "if" │ │ ├── predicate: │ │ │ @ LocalVariableReadNode (location: (22,15)-(22,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (22,2)-(22,11)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableWriteNode (location: (22,2)-(22,11)) + │ │ │ ├── flags: newline │ │ │ ├── name: :foo │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (22,2)-(22,5) = "foo" @@ -152,25 +175,32 @@ │ ├── end_keyword_loc: (23,0)-(23,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (25,0)-(27,3)) + │ ├── flags: newline │ ├── locals: [:foo] │ ├── module_keyword_loc: (25,0)-(25,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (25,7)-(25,8)) + │ │ ├── flags: ∅ │ │ └── name: :B │ ├── body: │ │ @ StatementsNode (location: (26,2)-(26,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ UnlessNode (location: (26,2)-(26,22)) + │ │ ├── flags: newline │ │ ├── keyword_loc: (26,12)-(26,18) = "unless" │ │ ├── predicate: │ │ │ @ LocalVariableReadNode (location: (26,19)-(26,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ ├── then_keyword_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (26,2)-(26,11)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableWriteNode (location: (26,2)-(26,11)) + │ │ │ ├── flags: newline │ │ │ ├── name: :foo │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (26,2)-(26,5) = "foo" @@ -191,6 +221,7 @@ │ ├── end_keyword_loc: (27,0)-(27,3) = "end" │ └── name: :B ├── @ UnlessNode (location: (28,0)-(30,3)) + │ ├── flags: newline │ ├── keyword_loc: (28,0)-(28,6) = "unless" │ ├── predicate: │ │ @ CallNode (location: (28,7)-(28,10)) @@ -206,8 +237,10 @@ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (29,2)-(29,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (29,2)-(29,11)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── depth: 0 │ │ ├── name_loc: (29,2)-(29,5) = "foo" @@ -226,6 +259,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (30,0)-(30,3) = "end" └── @ IfNode (location: (31,0)-(36,3)) + ├── flags: newline ├── if_keyword_loc: (31,0)-(31,2) = "if" ├── predicate: │ @ CallNode (location: (31,3)-(33,1)) @@ -239,11 +273,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (31,7)-(33,1)) + │ ├── flags: ∅ │ ├── locals: [:pair] │ ├── parameters: │ │ @ BlockParametersNode (location: (31,9)-(31,15)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (31,10)-(31,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (31,10)-(31,14)) │ │ │ │ ├── flags: ∅ @@ -259,8 +296,10 @@ │ │ └── closing_loc: (31,14)-(31,15) = "|" │ ├── body: │ │ @ StatementsNode (location: (32,2)-(32,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (32,2)-(32,6)) + │ │ ├── flags: newline │ │ ├── name: :pair │ │ └── depth: 0 │ ├── opening_loc: (31,7)-(31,8) = "{" @@ -268,20 +307,23 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (34,2)-(35,5)) + │ ├── flags: ∅ │ └── body: (length: 2) │ ├── @ LocalVariableWriteNode (location: (34,2)-(34,13)) + │ │ ├── flags: newline │ │ ├── name: :pair │ │ ├── depth: 0 │ │ ├── name_loc: (34,2)-(34,6) = "pair" │ │ ├── value: │ │ │ @ SymbolNode (location: (34,9)-(34,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (34,9)-(34,10) = ":" │ │ │ ├── value_loc: (34,10)-(34,13) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── operator_loc: (34,7)-(34,8) = "=" │ └── @ LocalVariableReadNode (location: (35,2)-(35,5)) + │ ├── flags: newline │ ├── name: :foo │ └── depth: 0 ├── consequent: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt b/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt index 48e53af00e..068e20ad98 100644 --- a/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt +++ b/test/prism/snapshots/unparser/corpus/literal/kwbegin.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(80,3)) +├── flags: ∅ ├── locals: [:foo, :bar, :exception] └── statements: @ StatementsNode (location: (1,0)-(80,3)) + ├── flags: ∅ └── body: (length: 14) ├── @ BeginNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin" │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (2,0)-(2,6)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ @@ -18,23 +22,27 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ BeginNode (location: (5,0)-(7,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (5,0)-(5,5) = "begin" │ ├── statements: ∅ │ ├── rescue_clause: ∅ │ ├── else_clause: ∅ │ ├── ensure_clause: │ │ @ EnsureNode (location: (6,0)-(7,3)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (6,0)-(6,6) = "ensure" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (7,0)-(7,3) = "end" │ └── end_keyword_loc: (7,0)-(7,3) = "end" ├── @ BeginNode (location: (9,0)-(11,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (9,0)-(9,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (10,2)-(10,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (10,2)-(10,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -48,12 +56,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ BeginNode (location: (13,0)-(17,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (13,0)-(13,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (14,2)-(14,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (14,2)-(14,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -64,15 +74,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (15,0)-(16,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (15,0)-(15,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (16,2)-(16,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (16,2)-(16,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -86,12 +98,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (17,0)-(17,3) = "end" ├── @ BeginNode (location: (19,0)-(24,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (19,0)-(19,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (20,2)-(21,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (20,2)-(20,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -101,7 +115,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (21,2)-(21,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -112,15 +126,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (22,0)-(23,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (22,0)-(22,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (23,2)-(23,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (23,2)-(23,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -134,13 +150,16 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (24,0)-(24,3) = "end" ├── @ BeginNode (location: (26,0)-(28,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (26,0)-(26,5) = "begin" │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (27,0)-(27,8)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (27,0)-(27,6) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (27,7)-(27,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ @@ -150,17 +169,21 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (28,0)-(28,3) = "end" ├── @ BeginNode (location: (30,0)-(32,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (30,0)-(30,5) = "begin" │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (31,0)-(31,15)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (31,0)-(31,6) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (31,7)-(31,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── operator_loc: (31,9)-(31,11) = "=>" │ │ ├── reference: │ │ │ @ LocalVariableTargetNode (location: (31,12)-(31,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ ├── statements: ∅ @@ -169,12 +192,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (32,0)-(32,3) = "end" ├── @ BeginNode (location: (34,0)-(42,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (34,0)-(34,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (35,2)-(35,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (35,2)-(35,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -185,17 +210,20 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (36,0)-(39,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (36,0)-(36,6) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (36,7)-(36,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (37,2)-(37,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (37,2)-(37,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -206,17 +234,20 @@ │ │ │ └── block: ∅ │ │ └── consequent: │ │ @ RescueNode (location: (38,0)-(39,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (38,0)-(38,6) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (38,7)-(38,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :B │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (39,2)-(39,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (39,2)-(39,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -229,12 +260,14 @@ │ ├── else_clause: ∅ │ ├── ensure_clause: │ │ @ EnsureNode (location: (40,0)-(42,3)) + │ │ ├── flags: ∅ │ │ ├── ensure_keyword_loc: (40,0)-(40,6) = "ensure" │ │ ├── statements: │ │ │ @ StatementsNode (location: (41,2)-(41,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (41,2)-(41,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :d @@ -246,20 +279,25 @@ │ │ └── end_keyword_loc: (42,0)-(42,3) = "end" │ └── end_keyword_loc: (42,0)-(42,3) = "end" ├── @ BeginNode (location: (44,0)-(53,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (44,0)-(44,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (45,2)-(49,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BeginNode (location: (45,2)-(49,5)) + │ │ ├── flags: newline │ │ ├── begin_keyword_loc: (45,2)-(45,7) = "begin" │ │ ├── statements: │ │ │ @ StatementsNode (location: (46,4)-(47,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 2) │ │ │ ├── @ LocalVariableReadNode (location: (46,4)-(46,7)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :foo │ │ │ │ └── depth: 0 │ │ │ └── @ CallNode (location: (47,4)-(47,7)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -270,6 +308,7 @@ │ │ │ └── block: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (48,2)-(48,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (48,2)-(48,8) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -281,15 +320,17 @@ │ │ └── end_keyword_loc: (49,2)-(49,5) = "end" │ ├── rescue_clause: │ │ @ RescueNode (location: (50,0)-(52,5)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (50,0)-(50,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (51,2)-(52,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 2) │ │ │ ├── @ CallNode (location: (51,2)-(51,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :baz @@ -299,7 +340,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: ∅ │ │ │ └── @ CallNode (location: (52,2)-(52,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -313,11 +354,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (53,0)-(53,3) = "end" ├── @ BeginNode (location: (55,0)-(58,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (55,0)-(55,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (56,2)-(56,35)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (56,2)-(56,35)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ CallNode (location: (56,2)-(56,18)) │ │ │ ├── flags: ignore_visibility @@ -331,12 +375,14 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ ConstantReadNode (location: (56,8)-(56,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Exception │ │ │ ├── closing_loc: (56,17)-(56,18) = ")" │ │ │ └── block: ∅ │ │ ├── keyword_loc: (56,19)-(56,25) = "rescue" │ │ └── rescue_expression: │ │ @ LocalVariableWriteNode (location: (56,26)-(56,35)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ ├── depth: 0 │ │ ├── name_loc: (56,26)-(56,29) = "foo" @@ -354,9 +400,11 @@ │ │ └── operator_loc: (56,30)-(56,31) = "=" │ ├── rescue_clause: │ │ @ RescueNode (location: (57,0)-(57,16)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (57,0)-(57,6) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (57,7)-(57,16)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Exception │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ @@ -366,26 +414,33 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (58,0)-(58,3) = "end" ├── @ BeginNode (location: (60,0)-(64,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (60,0)-(60,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (61,2)-(61,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (61,2)-(61,5)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ └── depth: 0 │ ├── rescue_clause: │ │ @ RescueNode (location: (62,0)-(63,5)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (62,0)-(62,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: (62,7)-(62,9) = "=>" │ │ ├── reference: │ │ │ @ LocalVariableTargetNode (location: (62,10)-(62,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── statements: │ │ │ @ StatementsNode (location: (63,2)-(63,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (63,2)-(63,5)) + │ │ │ ├── flags: newline │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ └── consequent: ∅ @@ -393,30 +448,39 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (64,0)-(64,3) = "end" ├── @ BeginNode (location: (66,0)-(70,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (66,0)-(66,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (67,2)-(67,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (67,2)-(67,5)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ └── depth: 0 │ ├── rescue_clause: │ │ @ RescueNode (location: (68,0)-(69,5)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (68,0)-(68,6) = "rescue" │ │ ├── exceptions: (length: 2) │ │ │ ├── @ ConstantReadNode (location: (68,7)-(68,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Exception │ │ │ └── @ ConstantReadNode (location: (68,18)-(68,23)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Other │ │ ├── operator_loc: (68,24)-(68,26) = "=>" │ │ ├── reference: │ │ │ @ LocalVariableTargetNode (location: (68,27)-(68,30)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── statements: │ │ │ @ StatementsNode (location: (69,2)-(69,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (69,2)-(69,5)) + │ │ │ ├── flags: newline │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ └── consequent: ∅ @@ -424,35 +488,44 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (70,0)-(70,3) = "end" ├── @ BeginNode (location: (72,0)-(76,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (72,0)-(72,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (73,2)-(73,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (73,2)-(73,5)) + │ │ ├── flags: newline │ │ ├── name: :bar │ │ └── depth: 0 │ ├── rescue_clause: │ │ @ RescueNode (location: (74,0)-(75,5)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (74,0)-(74,6) = "rescue" │ │ ├── exceptions: (length: 2) │ │ │ ├── @ ConstantReadNode (location: (74,7)-(74,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :SomeError │ │ │ └── @ SplatNode (location: (74,18)-(74,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (74,18)-(74,19) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableReadNode (location: (74,19)-(74,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── operator_loc: (74,23)-(74,25) = "=>" │ │ ├── reference: │ │ │ @ LocalVariableTargetNode (location: (74,26)-(74,35)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :exception │ │ │ └── depth: 0 │ │ ├── statements: │ │ │ @ StatementsNode (location: (75,2)-(75,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (75,2)-(75,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -466,20 +539,25 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (76,0)-(76,3) = "end" └── @ SingletonClassNode (location: (78,0)-(80,3)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (78,0)-(78,5) = "class" ├── operator_loc: (78,6)-(78,8) = "<<" ├── expression: │ @ SelfNode (location: (78,9)-(78,13)) + │ └── flags: ∅ ├── body: │ @ StatementsNode (location: (79,2)-(79,23)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RescueModifierNode (location: (79,2)-(79,23)) + │ ├── flags: newline │ ├── expression: │ │ @ UndefNode (location: (79,2)-(79,12)) + │ │ ├── flags: ∅ │ │ ├── names: (length: 1) │ │ │ └── @ SymbolNode (location: (79,8)-(79,12)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (79,8)-(79,9) = ":" │ │ │ ├── value_loc: (79,9)-(79,12) = "bar" │ │ │ ├── closing_loc: ∅ @@ -488,4 +566,5 @@ │ ├── keyword_loc: (79,13)-(79,19) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (79,20)-(79,23)) + │ └── flags: static_literal └── end_keyword_loc: (80,0)-(80,3) = "end" diff --git a/test/prism/snapshots/unparser/corpus/literal/lambda.txt b/test/prism/snapshots/unparser/corpus/literal/lambda.txt index 3594787bca..863678f17b 100644 --- a/test/prism/snapshots/unparser/corpus/literal/lambda.txt +++ b/test/prism/snapshots/unparser/corpus/literal/lambda.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(13,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(13,1)) + ├── flags: ∅ └── body: (length: 6) ├── @ CallNode (location: (1,0)-(2,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :lambda @@ -14,13 +16,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,7)-(2,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,7)-(1,8) = "{" │ └── closing_loc: (2,0)-(2,1) = "}" ├── @ CallNode (location: (3,0)-(5,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :lambda @@ -30,11 +33,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,7)-(5,1)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (3,9)-(3,15)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (3,10)-(3,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (3,10)-(3,11)) │ │ │ │ │ ├── flags: ∅ @@ -53,33 +59,40 @@ │ │ └── closing_loc: (3,14)-(3,15) = "|" │ ├── body: │ │ @ StatementsNode (location: (4,2)-(4,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (4,2)-(4,3)) + │ │ ├── flags: newline │ │ ├── name: :a │ │ └── depth: 0 │ ├── opening_loc: (3,7)-(3,8) = "{" │ └── closing_loc: (5,0)-(5,1) = "}" ├── @ LambdaNode (location: (6,0)-(7,1)) + │ ├── flags: newline │ ├── locals: [] │ ├── operator_loc: (6,0)-(6,2) = "->" │ ├── opening_loc: (6,5)-(6,6) = "{" │ ├── closing_loc: (7,0)-(7,1) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (6,2)-(6,4)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 0) │ │ ├── opening_loc: (6,2)-(6,3) = "(" │ │ └── closing_loc: (6,3)-(6,4) = ")" │ └── body: ∅ ├── @ LambdaNode (location: (8,0)-(9,1)) + │ ├── flags: newline │ ├── locals: [:a] │ ├── operator_loc: (8,0)-(8,2) = "->" │ ├── opening_loc: (8,6)-(8,7) = "{" │ ├── closing_loc: (9,0)-(9,1) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (8,2)-(8,5)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (8,3)-(8,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (8,3)-(8,4)) │ │ │ │ ├── flags: ∅ @@ -95,14 +108,17 @@ │ │ └── closing_loc: (8,4)-(8,5) = ")" │ └── body: ∅ ├── @ LambdaNode (location: (10,0)-(11,1)) + │ ├── flags: newline │ ├── locals: [:a, :b] │ ├── operator_loc: (10,0)-(10,2) = "->" │ ├── opening_loc: (10,9)-(10,10) = "{" │ ├── closing_loc: (11,0)-(11,1) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (10,2)-(10,8)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (10,3)-(10,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (10,3)-(10,4)) │ │ │ │ │ ├── flags: ∅ @@ -121,14 +137,17 @@ │ │ └── closing_loc: (10,7)-(10,8) = ")" │ └── body: ∅ └── @ LambdaNode (location: (12,0)-(13,1)) + ├── flags: newline ├── locals: [:a, :b, :c] ├── operator_loc: (12,0)-(12,2) = "->" ├── opening_loc: (12,12)-(12,13) = "{" ├── closing_loc: (13,0)-(13,1) = "}" ├── parameters: │ @ BlockParametersNode (location: (12,2)-(12,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (12,3)-(12,7)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (12,3)-(12,4)) │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/literal.txt b/test/prism/snapshots/unparser/corpus/literal/literal.txt index ddb10456bf..430a8a0679 100644 --- a/test/prism/snapshots/unparser/corpus/literal/literal.txt +++ b/test/prism/snapshots/unparser/corpus/literal/literal.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(91,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(91,2)) + ├── flags: ∅ └── body: (length: 78) ├── @ HashNode (location: (1,0)-(1,38)) + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (1,2)-(1,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ StringNode (location: (1,2)-(1,7)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" │ │ │ │ ├── content_loc: (1,3)-(1,6) = "foo" │ │ │ │ ├── closing_loc: (1,6)-(1,7) = "\"" @@ -20,17 +24,18 @@ │ │ │ │ ├── opening_loc: (1,11)-(1,21) = "<<-HEREDOC" │ │ │ │ ├── parts: (length: 3) │ │ │ │ │ ├── @ StringNode (location: (2,0)-(2,2)) - │ │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── content_loc: (2,0)-(2,2) = " " │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ └── unescaped: " " │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (2,2)-(2,5)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── opening_loc: (2,2)-(2,4) = "\#{" │ │ │ │ │ │ ├── statements: ∅ │ │ │ │ │ │ └── closing_loc: (2,4)-(2,5) = "}" │ │ │ │ │ └── @ StringNode (location: (2,5)-(3,0)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (2,5)-(3,0) = "\n" │ │ │ │ │ ├── closing_loc: ∅ @@ -38,16 +43,17 @@ │ │ │ │ └── closing_loc: (3,0)-(4,0) = "HEREDOC\n" │ │ │ └── operator_loc: (1,8)-(1,10) = "=>" │ │ └── @ AssocNode (location: (1,23)-(1,36)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ StringNode (location: (1,23)-(1,28)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (1,23)-(1,24) = "\"" │ │ │ ├── content_loc: (1,24)-(1,27) = "bar" │ │ │ ├── closing_loc: (1,27)-(1,28) = "\"" │ │ │ └── unescaped: "bar" │ │ ├── value: │ │ │ @ SymbolNode (location: (1,32)-(1,36)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,32)-(1,33) = ":" │ │ │ ├── value_loc: (1,33)-(1,36) = "baz" │ │ │ ├── closing_loc: ∅ @@ -55,12 +61,14 @@ │ │ └── operator_loc: (1,29)-(1,31) = "=>" │ └── closing_loc: (1,37)-(1,38) = "}" ├── @ HashNode (location: (4,0)-(4,31)) + │ ├── flags: newline │ ├── opening_loc: (4,0)-(4,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (4,2)-(4,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ StringNode (location: (4,2)-(4,7)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: (4,2)-(4,3) = "\"" │ │ │ │ ├── content_loc: (4,3)-(4,6) = "foo" │ │ │ │ ├── closing_loc: (4,6)-(4,7) = "\"" @@ -74,16 +82,17 @@ │ │ │ │ └── unescaped: "" │ │ │ └── operator_loc: (4,8)-(4,10) = "=>" │ │ └── @ AssocNode (location: (4,16)-(4,29)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ StringNode (location: (4,16)-(4,21)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (4,16)-(4,17) = "\"" │ │ │ ├── content_loc: (4,17)-(4,20) = "bar" │ │ │ ├── closing_loc: (4,20)-(4,21) = "\"" │ │ │ └── unescaped: "bar" │ │ ├── value: │ │ │ @ SymbolNode (location: (4,25)-(4,29)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (4,25)-(4,26) = ":" │ │ │ ├── value_loc: (4,26)-(4,29) = "baz" │ │ │ ├── closing_loc: ∅ @@ -91,7 +100,7 @@ │ │ └── operator_loc: (4,22)-(4,24) = "=>" │ └── closing_loc: (4,30)-(4,31) = "}" ├── @ ArrayNode (location: (5,0)-(5,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (5,1)-(5,6)) │ │ │ ├── flags: ∅ @@ -108,7 +117,7 @@ │ ├── opening_loc: (5,0)-(5,1) = "[" │ └── closing_loc: (5,11)-(5,12) = "]" ├── @ CallNode (location: (6,0)-(6,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (6,0)-(6,13)) │ │ ├── flags: ignore_visibility @@ -126,17 +135,18 @@ │ │ │ ├── opening_loc: (6,2)-(6,12) = "<<-HEREDOC" │ │ │ ├── parts: (length: 3) │ │ │ │ ├── @ StringNode (location: (7,0)-(7,2)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (7,0)-(7,2) = " " │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: " " │ │ │ │ ├── @ EmbeddedStatementsNode (location: (7,2)-(7,5)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── opening_loc: (7,2)-(7,4) = "\#{" │ │ │ │ │ ├── statements: ∅ │ │ │ │ │ └── closing_loc: (7,4)-(7,5) = "}" │ │ │ │ └── @ StringNode (location: (7,5)-(8,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (7,5)-(8,0) = "\n" │ │ │ │ ├── closing_loc: ∅ @@ -152,7 +162,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,6)) │ │ ├── flags: ignore_visibility @@ -181,12 +191,14 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ HashNode (location: (10,0)-(10,30)) + │ ├── flags: newline │ ├── opening_loc: (10,0)-(10,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (10,2)-(10,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ StringNode (location: (10,2)-(10,7)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: (10,2)-(10,3) = "\"" │ │ │ │ ├── content_loc: (10,3)-(10,6) = "foo" │ │ │ │ ├── closing_loc: (10,6)-(10,7) = "\"" @@ -197,17 +209,18 @@ │ │ │ │ ├── opening_loc: (10,11)-(10,21) = "<<-HEREDOC" │ │ │ │ ├── parts: (length: 3) │ │ │ │ │ ├── @ StringNode (location: (11,0)-(11,2)) - │ │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── content_loc: (11,0)-(11,2) = " " │ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ │ └── unescaped: " " │ │ │ │ │ ├── @ EmbeddedStatementsNode (location: (11,2)-(11,5)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── opening_loc: (11,2)-(11,4) = "\#{" │ │ │ │ │ │ ├── statements: ∅ │ │ │ │ │ │ └── closing_loc: (11,4)-(11,5) = "}" │ │ │ │ │ └── @ StringNode (location: (11,5)-(12,0)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (11,5)-(12,0) = "\n" │ │ │ │ │ ├── closing_loc: ∅ @@ -215,6 +228,7 @@ │ │ │ │ └── closing_loc: (12,0)-(13,0) = "HEREDOC\n" │ │ │ └── operator_loc: (10,8)-(10,10) = "=>" │ │ └── @ AssocSplatNode (location: (10,23)-(10,28)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (10,25)-(10,28)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -229,12 +243,14 @@ │ │ └── operator_loc: (10,23)-(10,25) = "**" │ └── closing_loc: (10,29)-(10,30) = "}" ├── @ HashNode (location: (13,0)-(13,23)) + │ ├── flags: newline │ ├── opening_loc: (13,0)-(13,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (13,2)-(13,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ StringNode (location: (13,2)-(13,7)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: (13,2)-(13,3) = "\"" │ │ │ │ ├── content_loc: (13,3)-(13,6) = "foo" │ │ │ │ ├── closing_loc: (13,6)-(13,7) = "\"" @@ -248,6 +264,7 @@ │ │ │ │ └── unescaped: "" │ │ │ └── operator_loc: (13,8)-(13,10) = "=>" │ │ └── @ AssocSplatNode (location: (13,16)-(13,21)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (13,18)-(13,21)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -262,45 +279,51 @@ │ │ └── operator_loc: (13,16)-(13,18) = "**" │ └── closing_loc: (13,22)-(13,23) = "}" ├── @ InterpolatedStringNode (location: (14,0)-(14,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (14,0)-(14,1) = "\"" │ ├── parts: (length: 5) │ │ ├── @ EmbeddedVariableNode (location: (14,1)-(14,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (14,1)-(14,2) = "#" │ │ │ └── variable: │ │ │ @ InstanceVariableReadNode (location: (14,2)-(14,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@a │ │ ├── @ StringNode (location: (14,4)-(14,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (14,4)-(14,5) = " " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " " │ │ ├── @ EmbeddedVariableNode (location: (14,5)-(14,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (14,5)-(14,6) = "#" │ │ │ └── variable: │ │ │ @ ClassVariableReadNode (location: (14,6)-(14,9)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@@a │ │ ├── @ StringNode (location: (14,9)-(14,10)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (14,9)-(14,10) = " " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " " │ │ └── @ EmbeddedVariableNode (location: (14,10)-(14,13)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (14,10)-(14,11) = "#" │ │ └── variable: │ │ @ GlobalVariableReadNode (location: (14,11)-(14,13)) + │ │ ├── flags: ∅ │ │ └── name: :$a │ └── closing_loc: (14,13)-(14,14) = "\"" ├── @ IntegerNode (location: (15,0)-(15,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 0 ├── @ CallNode (location: (16,0)-(16,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (16,1)-(16,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :+@ @@ -310,83 +333,93 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ IntegerNode (location: (17,0)-(17,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── @ IntegerNode (location: (18,0)-(18,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── @ RationalNode (location: (19,0)-(19,2)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: 1 │ └── denominator: 1 ├── @ RationalNode (location: (20,0)-(20,4)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: 3 │ └── denominator: 2 ├── @ RationalNode (location: (21,0)-(21,4)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: 13 │ └── denominator: 10 ├── @ ImaginaryNode (location: (22,0)-(22,2)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ IntegerNode (location: (22,0)-(22,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 5 ├── @ ImaginaryNode (location: (23,0)-(23,3)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ IntegerNode (location: (23,0)-(23,2)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: -5 ├── @ ImaginaryNode (location: (24,0)-(24,4)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ FloatNode (location: (24,0)-(24,3)) + │ ├── flags: static_literal │ └── value: 0.6 ├── @ ImaginaryNode (location: (25,0)-(25,5)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ FloatNode (location: (25,0)-(25,4)) + │ ├── flags: static_literal │ └── value: -0.6 ├── @ ImaginaryNode (location: (26,0)-(26,32)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ IntegerNode (location: (26,0)-(26,31)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1000000000000000000000000000000 ├── @ ImaginaryNode (location: (27,0)-(27,3)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ RationalNode (location: (27,0)-(27,2)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ ├── numerator: 1 │ └── denominator: 1 ├── @ InterpolatedStringNode (location: (28,0)-(28,11)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (28,0)-(28,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (28,0)-(28,1) = "\"" │ │ │ ├── content_loc: (28,1)-(28,4) = "foo" │ │ │ ├── closing_loc: (28,4)-(28,5) = "\"" │ │ │ └── unescaped: "foo" │ │ └── @ StringNode (location: (28,6)-(28,11)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (28,6)-(28,7) = "\"" │ │ ├── content_loc: (28,7)-(28,10) = "bar" │ │ ├── closing_loc: (28,10)-(28,11) = "\"" │ │ └── unescaped: "bar" │ └── closing_loc: ∅ ├── @ InterpolatedStringNode (location: (29,0)-(29,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (29,0)-(29,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (29,1)-(29,8)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (29,1)-(29,8) = "foobar " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foobar " │ │ └── @ EmbeddedStatementsNode (location: (29,8)-(29,14)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (29,8)-(29,10) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (29,10)-(29,13)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (29,10)-(29,13)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -401,239 +434,256 @@ │ │ └── closing_loc: (29,13)-(29,14) = "}" │ └── closing_loc: (29,14)-(29,15) = "\"" ├── @ InterpolatedStringNode (location: (30,0)-(30,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (30,0)-(30,1) = "\"" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (30,1)-(30,4)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (30,1)-(30,4) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── @ EmbeddedStatementsNode (location: (30,4)-(30,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (30,4)-(30,6) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (30,6)-(30,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (30,6)-(30,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (30,7)-(30,8) = "}" │ │ └── @ StringNode (location: (30,8)-(30,11)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (30,8)-(30,11) = "bar" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "bar" │ └── closing_loc: (30,11)-(30,12) = "\"" ├── @ InterpolatedStringNode (location: (31,0)-(31,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (31,0)-(31,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (31,1)-(31,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (31,1)-(31,5) = "\\\\\\\\" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\\\\" │ │ └── @ EmbeddedStatementsNode (location: (31,5)-(31,8)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (31,5)-(31,7) = "\#{" │ │ ├── statements: ∅ │ │ └── closing_loc: (31,7)-(31,8) = "}" │ └── closing_loc: (31,8)-(31,9) = "\"" ├── @ InterpolatedStringNode (location: (32,0)-(32,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (32,0)-(32,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (32,1)-(32,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (32,1)-(32,3) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (32,3)-(32,4) = "}" │ │ └── @ StringNode (location: (32,4)-(32,8)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (32,4)-(32,8) = "\\\#{}" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\#{}" │ └── closing_loc: (32,8)-(32,9) = "\"" ├── @ InterpolatedStringNode (location: (33,0)-(33,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (33,0)-(33,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (33,1)-(33,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (33,1)-(33,5) = "\\\#{}" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\#{}" │ │ └── @ EmbeddedStatementsNode (location: (33,5)-(33,8)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (33,5)-(33,7) = "\#{" │ │ ├── statements: ∅ │ │ └── closing_loc: (33,7)-(33,8) = "}" │ └── closing_loc: (33,8)-(33,9) = "\"" ├── @ StringNode (location: (34,0)-(34,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (34,0)-(34,1) = "\"" │ ├── content_loc: (34,1)-(34,14) = "foo\\\\\\\#{@bar}" │ ├── closing_loc: (34,14)-(34,15) = "\"" │ └── unescaped: "foo\\\#{@bar}" ├── @ StringNode (location: (35,0)-(35,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (35,0)-(35,1) = "\"" │ ├── content_loc: (35,1)-(35,3) = "\\\"" │ ├── closing_loc: (35,3)-(35,4) = "\"" │ └── unescaped: "\"" ├── @ StringNode (location: (36,0)-(36,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (36,0)-(36,1) = "\"" │ ├── content_loc: (36,1)-(36,8) = "foo bar" │ ├── closing_loc: (36,8)-(36,9) = "\"" │ └── unescaped: "foo bar" ├── @ StringNode (location: (37,0)-(37,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (37,0)-(37,1) = "\"" │ ├── content_loc: (37,1)-(37,9) = "foo\\nbar" │ ├── closing_loc: (37,9)-(37,10) = "\"" │ └── unescaped: "foo\nbar" ├── @ XStringNode (location: (38,0)-(38,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (38,0)-(38,1) = "`" │ ├── content_loc: (38,1)-(38,4) = "foo" │ ├── closing_loc: (38,4)-(38,5) = "`" │ └── unescaped: "foo" ├── @ InterpolatedXStringNode (location: (39,0)-(39,12)) + │ ├── flags: newline │ ├── opening_loc: (39,0)-(39,1) = "`" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (39,1)-(39,4)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (39,1)-(39,4) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ EmbeddedStatementsNode (location: (39,4)-(39,11)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (39,4)-(39,6) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (39,6)-(39,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ InstanceVariableReadNode (location: (39,6)-(39,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@bar │ │ └── closing_loc: (39,10)-(39,11) = "}" │ └── closing_loc: (39,11)-(39,12) = "`" ├── @ XStringNode (location: (40,0)-(40,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (40,0)-(40,1) = "`" │ ├── content_loc: (40,1)-(40,2) = ")" │ ├── closing_loc: (40,2)-(40,3) = "`" │ └── unescaped: ")" ├── @ XStringNode (location: (41,0)-(41,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (41,0)-(41,1) = "`" │ ├── content_loc: (41,1)-(41,3) = "\\`" │ ├── closing_loc: (41,3)-(41,4) = "`" │ └── unescaped: "`" ├── @ XStringNode (location: (42,0)-(42,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (42,0)-(42,1) = "`" │ ├── content_loc: (42,1)-(42,2) = "\"" │ ├── closing_loc: (42,2)-(42,3) = "`" │ └── unescaped: "\"" ├── @ SymbolNode (location: (43,0)-(43,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (43,0)-(43,1) = ":" │ ├── value_loc: (43,1)-(43,4) = "foo" │ ├── closing_loc: ∅ │ └── unescaped: "foo" ├── @ SymbolNode (location: (44,0)-(44,6)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (44,0)-(44,2) = ":\"" │ ├── value_loc: (44,2)-(44,5) = "A B" │ ├── closing_loc: (44,5)-(44,6) = "\"" │ └── unescaped: "A B" ├── @ SymbolNode (location: (45,0)-(45,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (45,0)-(45,1) = ":" │ ├── value_loc: (45,1)-(45,4) = "foo" │ ├── closing_loc: ∅ │ └── unescaped: "foo" ├── @ SymbolNode (location: (46,0)-(46,6)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (46,0)-(46,2) = ":\"" │ ├── value_loc: (46,2)-(46,5) = "A B" │ ├── closing_loc: (46,5)-(46,6) = "\"" │ └── unescaped: "A B" ├── @ SymbolNode (location: (47,0)-(47,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (47,0)-(47,2) = ":\"" │ ├── value_loc: (47,2)-(47,6) = "A\\\"B" │ ├── closing_loc: (47,6)-(47,7) = "\"" │ └── unescaped: "A\"B" ├── @ SymbolNode (location: (48,0)-(48,3)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (48,0)-(48,2) = ":\"" │ ├── value_loc: (1,0)-(1,0) = "" │ ├── closing_loc: (48,2)-(48,3) = "\"" │ └── unescaped: "" ├── @ RegularExpressionNode (location: (49,0)-(49,5)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (49,0)-(49,1) = "/" │ ├── content_loc: (49,1)-(49,4) = "foo" │ ├── closing_loc: (49,4)-(49,5) = "/" │ └── unescaped: "foo" ├── @ RegularExpressionNode (location: (50,0)-(50,28)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (50,0)-(50,1) = "/" │ ├── content_loc: (50,1)-(50,27) = "[^-+',.\\/:@[:alnum:]\\[\\]]+" │ ├── closing_loc: (50,27)-(50,28) = "/" │ └── unescaped: "[^-+',./:@[:alnum:]\\[\\]]+" ├── @ InterpolatedRegularExpressionNode (location: (51,0)-(51,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (51,0)-(51,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (51,1)-(51,4)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (51,1)-(51,4) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ EmbeddedStatementsNode (location: (51,4)-(51,11)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (51,4)-(51,6) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (51,6)-(51,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ InstanceVariableReadNode (location: (51,6)-(51,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@bar │ │ └── closing_loc: (51,10)-(51,11) = "}" │ └── closing_loc: (51,11)-(51,12) = "/" ├── @ InterpolatedRegularExpressionNode (location: (52,0)-(52,15)) - │ ├── flags: ignore_case, extended, multi_line + │ ├── flags: newline, ignore_case, extended, multi_line │ ├── opening_loc: (52,0)-(52,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (52,1)-(52,4)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (52,1)-(52,4) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ EmbeddedStatementsNode (location: (52,4)-(52,11)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (52,4)-(52,6) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (52,6)-(52,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ InstanceVariableReadNode (location: (52,6)-(52,10)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@bar │ │ └── closing_loc: (52,10)-(52,11) = "}" │ └── closing_loc: (52,11)-(52,15) = "/imx" ├── @ InterpolatedRegularExpressionNode (location: (53,0)-(53,13)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (53,0)-(53,1) = "/" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (53,1)-(53,12)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (53,1)-(53,3) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (53,3)-(53,11)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ StringNode (location: (53,3)-(53,11)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (53,3)-(53,4) = "\"" │ │ │ ├── content_loc: (53,4)-(53,10) = "\\u0000" │ │ │ ├── closing_loc: (53,10)-(53,11) = "\"" @@ -641,42 +691,45 @@ │ │ └── closing_loc: (53,11)-(53,12) = "}" │ └── closing_loc: (53,12)-(53,13) = "/" ├── @ RegularExpressionNode (location: (54,0)-(54,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (54,0)-(54,1) = "/" │ ├── content_loc: (54,1)-(54,3) = "\\n" │ ├── closing_loc: (54,3)-(54,4) = "/" │ └── unescaped: "\\n" ├── @ RegularExpressionNode (location: (55,0)-(55,4)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (55,0)-(55,1) = "/" │ ├── content_loc: (55,1)-(55,3) = "\\n" │ ├── closing_loc: (55,3)-(55,4) = "/" │ └── unescaped: "\\n" ├── @ RegularExpressionNode (location: (56,0)-(56,5)) - │ ├── flags: extended, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, extended, forced_us_ascii_encoding │ ├── opening_loc: (56,0)-(56,1) = "/" │ ├── content_loc: (56,1)-(56,3) = "\\n" │ ├── closing_loc: (56,3)-(56,5) = "/x" │ └── unescaped: "\\n" ├── @ RegularExpressionNode (location: (57,0)-(57,7)) - │ ├── flags: extended, forced_us_ascii_encoding + │ ├── flags: newline, static_literal, extended, forced_us_ascii_encoding │ ├── opening_loc: (57,0)-(57,1) = "/" │ ├── content_loc: (57,1)-(57,5) = "\\/\\/" │ ├── closing_loc: (57,5)-(57,7) = "/x" │ └── unescaped: "//" ├── @ InterpolatedSymbolNode (location: (58,0)-(58,15)) + │ ├── flags: newline │ ├── opening_loc: (58,0)-(58,2) = ":\"" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (58,2)-(58,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (58,2)-(58,5) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── @ EmbeddedStatementsNode (location: (58,5)-(58,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (58,5)-(58,7) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (58,7)-(58,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (58,7)-(58,10)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -690,22 +743,25 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (58,10)-(58,11) = "}" │ │ └── @ StringNode (location: (58,11)-(58,14)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (58,11)-(58,14) = "baz" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "baz" │ └── closing_loc: (58,14)-(58,15) = "\"" ├── @ InterpolatedSymbolNode (location: (59,0)-(59,11)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (59,0)-(59,2) = ":\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (59,2)-(59,10)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (59,2)-(59,4) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (59,4)-(59,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ StringNode (location: (59,4)-(59,9)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (59,4)-(59,5) = "\"" │ │ │ ├── content_loc: (59,5)-(59,8) = "foo" │ │ │ ├── closing_loc: (59,8)-(59,9) = "\"" @@ -713,16 +769,19 @@ │ │ └── closing_loc: (59,9)-(59,10) = "}" │ └── closing_loc: (59,10)-(59,11) = "\"" ├── @ RangeNode (location: (60,0)-(60,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── left: │ │ @ ParenthesesNode (location: (60,0)-(60,11)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (60,1)-(60,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (60,1)-(60,10)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ FloatNode (location: (60,1)-(60,4)) + │ │ │ │ ├── flags: static_literal │ │ │ │ └── value: 0.0 │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :/ @@ -733,6 +792,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ FloatNode (location: (60,7)-(60,10)) + │ │ │ │ ├── flags: static_literal │ │ │ │ └── value: 0.0 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ @@ -740,24 +800,27 @@ │ │ └── closing_loc: (60,10)-(60,11) = ")" │ ├── right: │ │ @ IntegerNode (location: (60,13)-(60,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (60,11)-(60,13) = ".." ├── @ RangeNode (location: (61,0)-(61,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── left: │ │ @ IntegerNode (location: (61,0)-(61,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ ParenthesesNode (location: (61,3)-(61,14)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (61,4)-(61,13)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (61,4)-(61,13)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ FloatNode (location: (61,4)-(61,7)) + │ │ │ │ ├── flags: static_literal │ │ │ │ └── value: 0.0 │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :/ @@ -768,6 +831,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ FloatNode (location: (61,10)-(61,13)) + │ │ │ │ ├── flags: static_literal │ │ │ │ └── value: 0.0 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ @@ -775,16 +839,19 @@ │ │ └── closing_loc: (61,13)-(61,14) = ")" │ └── operator_loc: (61,1)-(61,3) = ".." ├── @ RangeNode (location: (62,0)-(62,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── left: │ │ @ ParenthesesNode (location: (62,0)-(62,11)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (62,1)-(62,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (62,1)-(62,10)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ FloatNode (location: (62,1)-(62,4)) + │ │ │ │ ├── flags: static_literal │ │ │ │ └── value: 0.0 │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :/ @@ -795,6 +862,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ FloatNode (location: (62,7)-(62,10)) + │ │ │ │ ├── flags: static_literal │ │ │ │ └── value: 0.0 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ @@ -802,31 +870,34 @@ │ │ └── closing_loc: (62,10)-(62,11) = ")" │ ├── right: │ │ @ IntegerNode (location: (62,13)-(62,16)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 100 │ └── operator_loc: (62,11)-(62,13) = ".." ├── @ FloatNode (location: (63,0)-(63,4)) + │ ├── flags: newline, static_literal │ └── value: -0.1 ├── @ FloatNode (location: (64,0)-(64,3)) + │ ├── flags: newline, static_literal │ └── value: 0.1 ├── @ ArrayNode (location: (65,0)-(65,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (65,1)-(65,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (65,4)-(65,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (65,0)-(65,1) = "[" │ └── closing_loc: (65,5)-(65,6) = "]" ├── @ ArrayNode (location: (66,0)-(66,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 3) │ │ ├── @ IntegerNode (location: (66,1)-(66,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── @ ParenthesesNode (location: (66,4)-(66,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (66,4)-(66,5) = "(" │ │ │ └── closing_loc: (66,5)-(66,6) = ")" @@ -843,137 +914,160 @@ │ ├── opening_loc: (66,0)-(66,1) = "[" │ └── closing_loc: (66,10)-(66,11) = "]" ├── @ ArrayNode (location: (67,0)-(67,3)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 1) │ │ └── @ IntegerNode (location: (67,1)-(67,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── opening_loc: (67,0)-(67,1) = "[" │ └── closing_loc: (67,2)-(67,3) = "]" ├── @ ArrayNode (location: (68,0)-(68,2)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (68,0)-(68,1) = "[" │ └── closing_loc: (68,1)-(68,2) = "]" ├── @ ArrayNode (location: (69,0)-(69,10)) - │ ├── flags: contains_splat + │ ├── flags: newline, contains_splat │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (69,1)-(69,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ SplatNode (location: (69,4)-(69,9)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (69,4)-(69,5) = "*" │ │ └── expression: │ │ @ InstanceVariableReadNode (location: (69,5)-(69,9)) + │ │ ├── flags: ∅ │ │ └── name: :@foo │ ├── opening_loc: (69,0)-(69,1) = "[" │ └── closing_loc: (69,9)-(69,10) = "]" ├── @ ArrayNode (location: (70,0)-(70,10)) - │ ├── flags: contains_splat + │ ├── flags: newline, contains_splat │ ├── elements: (length: 2) │ │ ├── @ SplatNode (location: (70,1)-(70,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (70,1)-(70,2) = "*" │ │ │ └── expression: │ │ │ @ InstanceVariableReadNode (location: (70,2)-(70,6)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@foo │ │ └── @ IntegerNode (location: (70,8)-(70,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── opening_loc: (70,0)-(70,1) = "[" │ └── closing_loc: (70,9)-(70,10) = "]" ├── @ ArrayNode (location: (71,0)-(71,14)) - │ ├── flags: contains_splat + │ ├── flags: newline, contains_splat │ ├── elements: (length: 2) │ │ ├── @ SplatNode (location: (71,1)-(71,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (71,1)-(71,2) = "*" │ │ │ └── expression: │ │ │ @ InstanceVariableReadNode (location: (71,2)-(71,6)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@foo │ │ └── @ SplatNode (location: (71,8)-(71,13)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (71,8)-(71,9) = "*" │ │ └── expression: │ │ @ InstanceVariableReadNode (location: (71,9)-(71,13)) + │ │ ├── flags: ∅ │ │ └── name: :@baz │ ├── opening_loc: (71,0)-(71,1) = "[" │ └── closing_loc: (71,13)-(71,14) = "]" ├── @ HashNode (location: (72,0)-(72,2)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (72,0)-(72,1) = "{" │ ├── elements: (length: 0) │ └── closing_loc: (72,1)-(72,2) = "}" ├── @ HashNode (location: (73,0)-(73,12)) + │ ├── flags: newline │ ├── opening_loc: (73,0)-(73,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (73,2)-(73,10)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ ParenthesesNode (location: (73,2)-(73,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (73,2)-(73,3) = "(" │ │ │ └── closing_loc: (73,3)-(73,4) = ")" │ │ ├── value: │ │ │ @ ParenthesesNode (location: (73,8)-(73,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (73,8)-(73,9) = "(" │ │ │ └── closing_loc: (73,9)-(73,10) = ")" │ │ └── operator_loc: (73,5)-(73,7) = "=>" │ └── closing_loc: (73,11)-(73,12) = "}" ├── @ HashNode (location: (74,0)-(74,10)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (74,0)-(74,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (74,2)-(74,8)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ IntegerNode (location: (74,2)-(74,3)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── value: │ │ │ @ IntegerNode (location: (74,7)-(74,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (74,4)-(74,6) = "=>" │ └── closing_loc: (74,9)-(74,10) = "}" ├── @ HashNode (location: (75,0)-(75,18)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (75,0)-(75,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (75,2)-(75,8)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ IntegerNode (location: (75,2)-(75,3)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (75,7)-(75,8)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── operator_loc: (75,4)-(75,6) = "=>" │ │ └── @ AssocNode (location: (75,10)-(75,16)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ IntegerNode (location: (75,10)-(75,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── value: │ │ │ @ IntegerNode (location: (75,15)-(75,16)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 4 │ │ └── operator_loc: (75,12)-(75,14) = "=>" │ └── closing_loc: (75,17)-(75,18) = "}" ├── @ HashNode (location: (76,0)-(76,27)) + │ ├── flags: newline │ ├── opening_loc: (76,0)-(76,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (76,2)-(76,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (76,2)-(76,4)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (76,2)-(76,3) = "a" │ │ │ │ ├── closing_loc: (76,3)-(76,4) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ ParenthesesNode (location: (76,5)-(76,19)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (76,6)-(76,18)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ RescueModifierNode (location: (76,6)-(76,18)) + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── expression: │ │ │ │ │ │ @ IntegerNode (location: (76,6)-(76,7)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 1 │ │ │ │ │ ├── keyword_loc: (76,8)-(76,14) = "rescue" │ │ │ │ │ └── rescue_expression: @@ -991,63 +1085,69 @@ │ │ │ │ └── closing_loc: (76,18)-(76,19) = ")" │ │ │ └── operator_loc: ∅ │ │ └── @ AssocNode (location: (76,21)-(76,25)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (76,21)-(76,23)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (76,21)-(76,22) = "b" │ │ │ ├── closing_loc: (76,22)-(76,23) = ":" │ │ │ └── unescaped: "b" │ │ ├── value: │ │ │ @ IntegerNode (location: (76,24)-(76,25)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: ∅ │ └── closing_loc: (76,26)-(76,27) = "}" ├── @ HashNode (location: (77,0)-(77,14)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (77,0)-(77,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (77,2)-(77,6)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (77,2)-(77,4)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (77,2)-(77,3) = "a" │ │ │ │ ├── closing_loc: (77,3)-(77,4) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (77,5)-(77,6)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: ∅ │ │ └── @ AssocNode (location: (77,8)-(77,12)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (77,8)-(77,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (77,8)-(77,9) = "b" │ │ │ ├── closing_loc: (77,9)-(77,10) = ":" │ │ │ └── unescaped: "b" │ │ ├── value: │ │ │ @ IntegerNode (location: (77,11)-(77,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: ∅ │ └── closing_loc: (77,13)-(77,14) = "}" ├── @ HashNode (location: (78,0)-(78,9)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (78,0)-(78,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (78,2)-(78,7)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (78,2)-(78,4)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (78,2)-(78,3) = "a" │ │ │ ├── closing_loc: (78,3)-(78,4) = ":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ SymbolNode (location: (78,5)-(78,7)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (78,5)-(78,6) = ":" │ │ │ ├── value_loc: (78,6)-(78,7) = "a" │ │ │ ├── closing_loc: ∅ @@ -1055,66 +1155,72 @@ │ │ └── operator_loc: ∅ │ └── closing_loc: (78,8)-(78,9) = "}" ├── @ HashNode (location: (79,0)-(79,15)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (79,0)-(79,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (79,2)-(79,13)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (79,2)-(79,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (79,2)-(79,4) = ":\"" │ │ │ ├── value_loc: (79,4)-(79,7) = "a b" │ │ │ ├── closing_loc: (79,7)-(79,8) = "\"" │ │ │ └── unescaped: "a b" │ │ ├── value: │ │ │ @ IntegerNode (location: (79,12)-(79,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (79,9)-(79,11) = "=>" │ └── closing_loc: (79,14)-(79,15) = "}" ├── @ HashNode (location: (80,0)-(80,12)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (80,0)-(80,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (80,2)-(80,10)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (80,2)-(80,5)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (80,2)-(80,3) = ":" │ │ │ ├── value_loc: (80,3)-(80,5) = "-@" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "-@" │ │ ├── value: │ │ │ @ IntegerNode (location: (80,9)-(80,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (80,6)-(80,8) = "=>" │ └── closing_loc: (80,11)-(80,12) = "}" ├── @ InterpolatedStringNode (location: (81,0)-(82,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (81,0)-(81,1) = "\"" │ ├── parts: (length: 4) │ │ ├── @ EmbeddedStatementsNode (location: (81,1)-(81,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (81,1)-(81,3) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (81,3)-(81,4) = "}" │ │ ├── @ StringNode (location: (81,4)-(82,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (81,4)-(82,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ ├── @ EmbeddedStatementsNode (location: (82,0)-(82,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (82,0)-(82,2) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (82,2)-(82,3) = "}" │ │ └── @ StringNode (location: (82,3)-(82,6)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (82,3)-(82,6) = "\\na" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\na" │ └── closing_loc: (82,6)-(82,7) = "\"" ├── @ CallNode (location: (83,0)-(86,1)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1124,31 +1230,35 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (83,4)-(86,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (84,2)-(85,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ InterpolatedStringNode (location: (84,2)-(85,7)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (84,2)-(84,3) = "\"" │ │ ├── parts: (length: 4) │ │ │ ├── @ EmbeddedStatementsNode (location: (84,3)-(84,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (84,3)-(84,5) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (84,5)-(84,6) = "}" │ │ │ ├── @ StringNode (location: (84,6)-(85,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (84,6)-(85,0) = "\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "\n" │ │ │ ├── @ EmbeddedStatementsNode (location: (85,0)-(85,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (85,0)-(85,2) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (85,2)-(85,3) = "}" │ │ │ └── @ StringNode (location: (85,3)-(85,6)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (85,3)-(85,6) = "\\na" │ │ │ ├── closing_loc: ∅ @@ -1157,24 +1267,27 @@ │ ├── opening_loc: (83,4)-(83,5) = "{" │ └── closing_loc: (86,0)-(86,1) = "}" ├── @ SymbolNode (location: (87,0)-(88,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (87,0)-(87,2) = ":\"" │ ├── value_loc: (87,2)-(88,1) = "a\\\\\nb" │ ├── closing_loc: (88,1)-(88,2) = "\"" │ └── unescaped: "a\\\nb" └── @ InterpolatedXStringNode (location: (89,0)-(91,2)) + ├── flags: newline ├── opening_loc: (89,0)-(89,1) = "`" ├── parts: (length: 3) │ ├── @ StringNode (location: (89,1)-(90,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (89,1)-(90,0) = " x\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " x\n" │ ├── @ EmbeddedStatementsNode (location: (90,0)-(90,6)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (90,0)-(90,2) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (90,2)-(90,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (90,2)-(90,5)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -1188,7 +1301,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (90,5)-(90,6) = "}" │ └── @ StringNode (location: (90,6)-(91,1)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (90,6)-(91,1) = "\n#" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/module.txt b/test/prism/snapshots/unparser/corpus/literal/module.txt index 6428aeea82..9ad15d2dcd 100644 --- a/test/prism/snapshots/unparser/corpus/literal/module.txt +++ b/test/prism/snapshots/unparser/corpus/literal/module.txt @@ -1,24 +1,31 @@ @ ProgramNode (location: (1,0)-(16,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(16,3)) + ├── flags: ∅ └── body: (length: 4) ├── @ ModuleNode (location: (1,0)-(2,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (1,0)-(1,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (1,7)-(1,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: ∅ │ ├── end_keyword_loc: (2,0)-(2,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (4,0)-(5,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (4,0)-(4,6) = "module" │ ├── constant_path: │ │ @ ConstantPathNode (location: (4,7)-(4,11)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (4,7)-(4,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── name: :B │ │ ├── delimiter_loc: (4,8)-(4,10) = "::" @@ -27,14 +34,18 @@ │ ├── end_keyword_loc: (5,0)-(5,3) = "end" │ └── name: :B ├── @ ModuleNode (location: (7,0)-(8,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (7,0)-(7,6) = "module" │ ├── constant_path: │ │ @ ConstantPathNode (location: (7,7)-(7,14)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantPathNode (location: (7,7)-(7,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantReadNode (location: (7,7)-(7,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :A │ │ │ ├── name: :B │ │ │ ├── delimiter_loc: (7,8)-(7,10) = "::" @@ -46,16 +57,19 @@ │ ├── end_keyword_loc: (8,0)-(8,3) = "end" │ └── name: :C └── @ ModuleNode (location: (10,0)-(16,3)) + ├── flags: newline ├── locals: [] ├── module_keyword_loc: (10,0)-(10,6) = "module" ├── constant_path: │ @ ConstantReadNode (location: (10,7)-(10,8)) + │ ├── flags: ∅ │ └── name: :A ├── body: │ @ StatementsNode (location: (11,2)-(15,5)) + │ ├── flags: ∅ │ └── body: (length: 2) │ ├── @ CallNode (location: (11,2)-(11,16)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :include @@ -69,6 +83,7 @@ │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ ConstantReadNode (location: (11,10)-(11,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :B │ │ │ ├── call_operator_loc: (11,11)-(11,12) = "." │ │ │ ├── name: :new @@ -80,15 +95,17 @@ │ │ ├── closing_loc: (11,15)-(11,16) = ")" │ │ └── block: ∅ │ └── @ DefNode (location: (13,2)-(15,5)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (13,6)-(13,9) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (14,4)-(14,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (14,4)-(14,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (14,4)-(14,5) = ":" │ │ ├── value_loc: (14,5)-(14,8) = "bar" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/opasgn.txt b/test/prism/snapshots/unparser/corpus/literal/opasgn.txt index 0761b47348..3df6248d4b 100644 --- a/test/prism/snapshots/unparser/corpus/literal/opasgn.txt +++ b/test/prism/snapshots/unparser/corpus/literal/opasgn.txt @@ -1,59 +1,67 @@ @ ProgramNode (location: (1,0)-(24,10)) +├── flags: ∅ ├── locals: [:a, :h] └── statements: @ StatementsNode (location: (1,0)-(24,10)) + ├── flags: ∅ └── body: (length: 24) ├── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,6)) + │ ├── flags: newline │ ├── name_loc: (1,0)-(1,1) = "a" │ ├── binary_operator_loc: (1,2)-(1,4) = "+=" │ ├── value: │ │ @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── name: :a │ ├── binary_operator: :+ │ └── depth: 0 ├── @ LocalVariableOperatorWriteNode (location: (2,0)-(2,6)) + │ ├── flags: newline │ ├── name_loc: (2,0)-(2,1) = "a" │ ├── binary_operator_loc: (2,2)-(2,4) = "-=" │ ├── value: │ │ @ IntegerNode (location: (2,5)-(2,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── name: :a │ ├── binary_operator: :- │ └── depth: 0 ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,7)) + │ ├── flags: newline │ ├── name_loc: (3,0)-(3,1) = "a" │ ├── binary_operator_loc: (3,2)-(3,5) = "**=" │ ├── value: │ │ @ IntegerNode (location: (3,6)-(3,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── name: :a │ ├── binary_operator: :** │ └── depth: 0 ├── @ LocalVariableOperatorWriteNode (location: (4,0)-(4,6)) + │ ├── flags: newline │ ├── name_loc: (4,0)-(4,1) = "a" │ ├── binary_operator_loc: (4,2)-(4,4) = "*=" │ ├── value: │ │ @ IntegerNode (location: (4,5)-(4,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── name: :a │ ├── binary_operator: :* │ └── depth: 0 ├── @ LocalVariableOperatorWriteNode (location: (5,0)-(5,6)) + │ ├── flags: newline │ ├── name_loc: (5,0)-(5,1) = "a" │ ├── binary_operator_loc: (5,2)-(5,4) = "/=" │ ├── value: │ │ @ IntegerNode (location: (5,5)-(5,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── name: :a │ ├── binary_operator: :/ │ └── depth: 0 ├── @ LocalVariableAndWriteNode (location: (6,0)-(6,7)) + │ ├── flags: newline │ ├── name_loc: (6,0)-(6,1) = "a" │ ├── operator_loc: (6,2)-(6,5) = "&&=" │ ├── value: @@ -70,27 +78,31 @@ │ ├── name: :a │ └── depth: 0 ├── @ LocalVariableOrWriteNode (location: (7,0)-(7,7)) + │ ├── flags: newline │ ├── name_loc: (7,0)-(7,1) = "a" │ ├── operator_loc: (7,2)-(7,5) = "||=" │ ├── value: │ │ @ IntegerNode (location: (7,6)-(7,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── name: :a │ └── depth: 0 ├── @ CallNode (location: (8,0)-(8,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (8,0)-(8,9)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (8,1)-(8,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableOrWriteNode (location: (8,1)-(8,8)) + │ │ │ ├── flags: newline │ │ │ ├── name_loc: (8,1)-(8,2) = "a" │ │ │ ├── operator_loc: (8,3)-(8,6) = "||=" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (8,7)-(8,8)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── name: :a │ │ │ └── depth: 0 @@ -104,17 +116,21 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,17)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ ParenthesesNode (location: (9,0)-(9,10)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (9,1)-(9,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableOrWriteNode (location: (9,1)-(9,9)) + │ │ │ ├── flags: newline │ │ │ ├── name_loc: (9,1)-(9,2) = "h" │ │ │ ├── operator_loc: (9,3)-(9,6) = "||=" │ │ │ ├── value: │ │ │ │ @ HashNode (location: (9,7)-(9,9)) + │ │ │ │ ├── flags: static_literal │ │ │ │ ├── opening_loc: (9,7)-(9,8) = "{" │ │ │ │ ├── elements: (length: 0) │ │ │ │ └── closing_loc: (9,8)-(9,9) = "}" @@ -153,9 +169,10 @@ │ ├── closing_loc: (9,12)-(9,13) = "]" │ └── block: ∅ ├── @ CallOperatorWriteNode (location: (10,0)-(10,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (10,0)-(10,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (10,1)-(10,2) = "." @@ -166,12 +183,13 @@ │ ├── binary_operator_loc: (10,4)-(10,6) = "+=" │ └── value: │ @ IntegerNode (location: (10,7)-(10,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ CallOperatorWriteNode (location: (11,0)-(11,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (11,0)-(11,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (11,1)-(11,2) = "." @@ -182,12 +200,13 @@ │ ├── binary_operator_loc: (11,4)-(11,6) = "-=" │ └── value: │ @ IntegerNode (location: (11,7)-(11,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ CallOperatorWriteNode (location: (12,0)-(12,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (12,0)-(12,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (12,1)-(12,2) = "." @@ -198,12 +217,13 @@ │ ├── binary_operator_loc: (12,4)-(12,7) = "**=" │ └── value: │ @ IntegerNode (location: (12,8)-(12,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ CallOperatorWriteNode (location: (13,0)-(13,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (13,0)-(13,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (13,1)-(13,2) = "." @@ -214,12 +234,13 @@ │ ├── binary_operator_loc: (13,4)-(13,6) = "*=" │ └── value: │ @ IntegerNode (location: (13,7)-(13,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ CallOperatorWriteNode (location: (14,0)-(14,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (14,0)-(14,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (14,1)-(14,2) = "." @@ -230,12 +251,13 @@ │ ├── binary_operator_loc: (14,4)-(14,6) = "/=" │ └── value: │ @ IntegerNode (location: (14,7)-(14,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ CallAndWriteNode (location: (15,0)-(15,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (15,0)-(15,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (15,1)-(15,2) = "." @@ -255,9 +277,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallOrWriteNode (location: (16,0)-(16,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (16,0)-(16,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: (16,1)-(16,2) = "." @@ -267,12 +290,13 @@ │ ├── operator_loc: (16,4)-(16,7) = "||=" │ └── value: │ @ IntegerNode (location: (16,8)-(16,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ IndexOperatorWriteNode (location: (17,0)-(17,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (17,0)-(17,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -297,12 +321,13 @@ │ ├── binary_operator_loc: (17,5)-(17,7) = "+=" │ └── value: │ @ IntegerNode (location: (17,8)-(17,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ IndexOperatorWriteNode (location: (18,0)-(18,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (18,0)-(18,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -327,12 +352,13 @@ │ ├── binary_operator_loc: (18,5)-(18,7) = "-=" │ └── value: │ @ IntegerNode (location: (18,8)-(18,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ IndexOperatorWriteNode (location: (19,0)-(19,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (19,0)-(19,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -357,12 +383,13 @@ │ ├── binary_operator_loc: (19,5)-(19,8) = "**=" │ └── value: │ @ IntegerNode (location: (19,9)-(19,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ IndexOperatorWriteNode (location: (20,0)-(20,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (20,0)-(20,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -387,12 +414,13 @@ │ ├── binary_operator_loc: (20,5)-(20,7) = "*=" │ └── value: │ @ IntegerNode (location: (20,8)-(20,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ IndexOperatorWriteNode (location: (21,0)-(21,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (21,0)-(21,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -417,12 +445,13 @@ │ ├── binary_operator_loc: (21,5)-(21,7) = "/=" │ └── value: │ @ IntegerNode (location: (21,8)-(21,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── @ IndexAndWriteNode (location: (22,0)-(22,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (22,0)-(22,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -456,9 +485,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ IndexOrWriteNode (location: (23,0)-(23,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (23,0)-(23,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -482,10 +512,10 @@ │ ├── operator_loc: (23,5)-(23,8) = "||=" │ └── value: │ @ IntegerNode (location: (23,9)-(23,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 └── @ CallOperatorWriteNode (location: (24,0)-(24,10)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (24,0)-(24,3)) │ ├── flags: variable_call, ignore_visibility @@ -505,5 +535,5 @@ ├── binary_operator_loc: (24,6)-(24,8) = "+=" └── value: @ IntegerNode (location: (24,9)-(24,10)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/unparser/corpus/literal/pattern.txt b/test/prism/snapshots/unparser/corpus/literal/pattern.txt index 5a0b4bb733..7a542b26cf 100644 --- a/test/prism/snapshots/unparser/corpus/literal/pattern.txt +++ b/test/prism/snapshots/unparser/corpus/literal/pattern.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(41,8)) +├── flags: ∅ ├── locals: [:a, :x, :y] └── statements: @ StatementsNode (location: (1,0)-(41,8)) + ├── flags: ∅ └── body: (length: 4) ├── @ CaseMatchNode (location: (1,0)-(33,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (1,5)-(1,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -17,58 +20,69 @@ │ │ └── block: ∅ │ ├── conditions: (length: 15) │ │ ├── @ InNode (location: (2,0)-(3,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ ArrayPatternNode (location: (2,3)-(2,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: │ │ │ │ │ @ ConstantReadNode (location: (2,3)-(2,4)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :A │ │ │ │ ├── requireds: (length: 2) │ │ │ │ │ ├── @ IntegerNode (location: (2,5)-(2,6)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 1 │ │ │ │ │ └── @ IntegerNode (location: (2,8)-(2,9)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ ├── rest: │ │ │ │ │ @ SplatNode (location: (2,11)-(2,13)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── operator_loc: (2,11)-(2,12) = "*" │ │ │ │ │ └── expression: │ │ │ │ │ @ LocalVariableTargetNode (location: (2,12)-(2,13)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :a │ │ │ │ │ └── depth: 0 │ │ │ │ ├── posts: (length: 1) │ │ │ │ │ └── @ IntegerNode (location: (2,15)-(2,16)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 3 │ │ │ │ ├── opening_loc: (2,4)-(2,5) = "[" │ │ │ │ └── closing_loc: (2,16)-(2,17) = "]" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (3,2)-(3,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (3,2)-(3,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (2,0)-(2,2) = "in" │ │ │ └── then_loc: (2,18)-(2,22) = "then" │ │ ├── @ InNode (location: (4,0)-(5,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ ArrayPatternNode (location: (4,3)-(4,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── requireds: (length: 2) │ │ │ │ │ ├── @ IntegerNode (location: (4,4)-(4,5)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 1 │ │ │ │ │ └── @ IntegerNode (location: (4,7)-(4,8)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ ├── rest: │ │ │ │ │ @ ImplicitRestNode (location: (4,8)-(4,9)) + │ │ │ │ │ └── flags: ∅ │ │ │ │ ├── posts: (length: 0) │ │ │ │ ├── opening_loc: (4,3)-(4,4) = "[" │ │ │ │ └── closing_loc: (4,10)-(4,11) = "]" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (5,2)-(5,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (5,2)-(5,3)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :y @@ -80,24 +94,30 @@ │ │ │ ├── in_loc: (4,0)-(4,2) = "in" │ │ │ └── then_loc: (4,12)-(4,16) = "then" │ │ ├── @ InNode (location: (6,0)-(7,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ HashPatternNode (location: (6,3)-(6,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: │ │ │ │ │ @ ConstantReadNode (location: (6,3)-(6,4)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :A │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ AssocNode (location: (6,5)-(6,7)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── key: │ │ │ │ │ │ @ SymbolNode (location: (6,5)-(6,7)) - │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── value_loc: (6,5)-(6,6) = "x" │ │ │ │ │ │ ├── closing_loc: (6,6)-(6,7) = ":" │ │ │ │ │ │ └── unescaped: "x" │ │ │ │ │ ├── value: │ │ │ │ │ │ @ ImplicitNode (location: (6,5)-(6,6)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── value: │ │ │ │ │ │ @ LocalVariableTargetNode (location: (6,5)-(6,6)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :x │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ └── operator_loc: ∅ @@ -106,19 +126,25 @@ │ │ │ │ └── closing_loc: (6,7)-(6,8) = ")" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (7,2)-(7,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (7,2)-(7,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (6,0)-(6,2) = "in" │ │ │ └── then_loc: (6,9)-(6,13) = "then" │ │ ├── @ InNode (location: (8,0)-(9,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ HashPatternNode (location: (8,3)-(8,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── elements: (length: 0) │ │ │ │ ├── rest: │ │ │ │ │ @ AssocSplatNode (location: (8,4)-(8,7)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── value: │ │ │ │ │ │ @ LocalVariableTargetNode (location: (8,6)-(8,7)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :a │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ └── operator_loc: (8,4)-(8,6) = "**" @@ -126,21 +152,28 @@ │ │ │ │ └── closing_loc: (8,7)-(8,8) = "}" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (9,2)-(9,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (9,2)-(9,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (8,0)-(8,2) = "in" │ │ │ └── then_loc: (8,9)-(8,13) = "then" │ │ ├── @ InNode (location: (10,0)-(11,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ IfNode (location: (10,3)-(10,13)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── if_keyword_loc: (10,6)-(10,8) = "if" │ │ │ │ ├── predicate: │ │ │ │ │ @ TrueNode (location: (10,9)-(10,13)) + │ │ │ │ │ └── flags: static_literal │ │ │ │ ├── then_keyword_loc: ∅ │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (10,3)-(10,5)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ HashPatternNode (location: (10,3)-(10,5)) + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── constant: ∅ │ │ │ │ │ ├── elements: (length: 0) │ │ │ │ │ ├── rest: ∅ @@ -150,23 +183,30 @@ │ │ │ │ └── end_keyword_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (11,2)-(11,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (11,2)-(11,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (10,0)-(10,2) = "in" │ │ │ └── then_loc: (10,14)-(10,18) = "then" │ │ ├── @ InNode (location: (12,0)-(13,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ ArrayPatternNode (location: (12,3)-(12,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── requireds: (length: 2) │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (12,4)-(12,5)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :x │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ └── @ LocalVariableTargetNode (location: (12,7)-(12,8)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :y │ │ │ │ │ └── depth: 0 │ │ │ │ ├── rest: │ │ │ │ │ @ SplatNode (location: (12,10)-(12,11)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── operator_loc: (12,10)-(12,11) = "*" │ │ │ │ │ └── expression: ∅ │ │ │ │ ├── posts: (length: 0) @@ -174,39 +214,45 @@ │ │ │ │ └── closing_loc: (12,11)-(12,12) = "]" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (13,2)-(13,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (13,2)-(13,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (12,0)-(12,2) = "in" │ │ │ └── then_loc: (12,13)-(12,17) = "then" │ │ ├── @ InNode (location: (14,0)-(15,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ HashPatternNode (location: (14,3)-(14,16)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── elements: (length: 2) │ │ │ │ │ ├── @ AssocNode (location: (14,4)-(14,8)) + │ │ │ │ │ │ ├── flags: static_literal │ │ │ │ │ │ ├── key: │ │ │ │ │ │ │ @ SymbolNode (location: (14,4)-(14,6)) - │ │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ │ ├── value_loc: (14,4)-(14,5) = "a" │ │ │ │ │ │ │ ├── closing_loc: (14,5)-(14,6) = ":" │ │ │ │ │ │ │ └── unescaped: "a" │ │ │ │ │ │ ├── value: │ │ │ │ │ │ │ @ IntegerNode (location: (14,7)-(14,8)) - │ │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ │ └── value: 1 │ │ │ │ │ │ └── operator_loc: ∅ │ │ │ │ │ └── @ AssocNode (location: (14,10)-(14,15)) + │ │ │ │ │ ├── flags: static_literal │ │ │ │ │ ├── key: │ │ │ │ │ │ @ SymbolNode (location: (14,10)-(14,13)) - │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── value_loc: (14,10)-(14,12) = "aa" │ │ │ │ │ │ ├── closing_loc: (14,12)-(14,13) = ":" │ │ │ │ │ │ └── unescaped: "aa" │ │ │ │ │ ├── value: │ │ │ │ │ │ @ IntegerNode (location: (14,14)-(14,15)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 2 │ │ │ │ │ └── operator_loc: ∅ │ │ │ │ ├── rest: ∅ @@ -214,13 +260,17 @@ │ │ │ │ └── closing_loc: (14,15)-(14,16) = "}" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (15,2)-(15,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (15,2)-(15,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (14,0)-(14,2) = "in" │ │ │ └── then_loc: (14,17)-(14,21) = "then" │ │ ├── @ InNode (location: (16,0)-(17,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ HashPatternNode (location: (16,3)-(16,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── elements: (length: 0) │ │ │ │ ├── rest: ∅ @@ -228,43 +278,53 @@ │ │ │ │ └── closing_loc: (16,4)-(16,5) = "}" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (17,2)-(17,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (17,2)-(17,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (16,0)-(16,2) = "in" │ │ │ └── then_loc: (16,6)-(16,10) = "then" │ │ ├── @ InNode (location: (18,0)-(19,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ HashPatternNode (location: (18,3)-(18,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── elements: (length: 0) │ │ │ │ ├── rest: │ │ │ │ │ @ NoKeywordsParameterNode (location: (18,4)-(18,9)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── operator_loc: (18,4)-(18,6) = "**" │ │ │ │ │ └── keyword_loc: (18,6)-(18,9) = "nil" │ │ │ │ ├── opening_loc: (18,3)-(18,4) = "{" │ │ │ │ └── closing_loc: (18,9)-(18,10) = "}" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (19,2)-(19,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (19,2)-(19,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (18,0)-(18,2) = "in" │ │ │ └── then_loc: (18,11)-(18,15) = "then" │ │ ├── @ InNode (location: (20,0)-(21,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ HashPatternNode (location: (20,3)-(20,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ AssocNode (location: (20,4)-(20,10)) + │ │ │ │ │ ├── flags: static_literal │ │ │ │ │ ├── key: │ │ │ │ │ │ @ SymbolNode (location: (20,4)-(20,8)) - │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ ├── opening_loc: (20,4)-(20,5) = "\"" │ │ │ │ │ │ ├── value_loc: (20,5)-(20,6) = "a" │ │ │ │ │ │ ├── closing_loc: (20,6)-(20,8) = "\":" │ │ │ │ │ │ └── unescaped: "a" │ │ │ │ │ ├── value: │ │ │ │ │ │ @ IntegerNode (location: (20,9)-(20,10)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 1 │ │ │ │ │ └── operator_loc: ∅ │ │ │ │ ├── rest: ∅ @@ -272,90 +332,114 @@ │ │ │ │ └── closing_loc: (20,10)-(20,11) = "}" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (21,2)-(21,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (21,2)-(21,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (20,0)-(20,2) = "in" │ │ │ └── then_loc: (20,12)-(20,16) = "then" │ │ ├── @ InNode (location: (22,0)-(23,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ AlternationPatternNode (location: (22,3)-(22,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── left: │ │ │ │ │ @ IntegerNode (location: (22,3)-(22,4)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── right: │ │ │ │ │ @ IntegerNode (location: (22,7)-(22,8)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 2 │ │ │ │ └── operator_loc: (22,5)-(22,6) = "|" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (23,2)-(23,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (23,2)-(23,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (22,0)-(22,2) = "in" │ │ │ └── then_loc: (22,9)-(22,13) = "then" │ │ ├── @ InNode (location: (24,0)-(25,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ CapturePatternNode (location: (24,3)-(24,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── value: │ │ │ │ │ @ IntegerNode (location: (24,3)-(24,4)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── target: │ │ │ │ │ @ LocalVariableTargetNode (location: (24,8)-(24,9)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :a │ │ │ │ │ └── depth: 0 │ │ │ │ └── operator_loc: (24,5)-(24,7) = "=>" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (25,2)-(25,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (25,2)-(25,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (24,0)-(24,2) = "in" │ │ │ └── then_loc: (24,10)-(24,14) = "then" │ │ ├── @ InNode (location: (26,0)-(27,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ PinnedVariableNode (location: (26,3)-(26,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── variable: │ │ │ │ │ @ LocalVariableReadNode (location: (26,4)-(26,5)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :x │ │ │ │ │ └── depth: 0 │ │ │ │ └── operator_loc: (26,3)-(26,4) = "^" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (27,2)-(27,6)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ TrueNode (location: (27,2)-(27,6)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (26,0)-(26,2) = "in" │ │ │ └── then_loc: (26,6)-(26,10) = "then" │ │ ├── @ InNode (location: (28,0)-(28,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ IntegerNode (location: (28,3)-(28,4)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── statements: ∅ │ │ │ ├── in_loc: (28,0)-(28,2) = "in" │ │ │ └── then_loc: ∅ │ │ └── @ InNode (location: (29,0)-(30,6)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ IntegerNode (location: (29,3)-(29,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── statements: │ │ │ @ StatementsNode (location: (30,2)-(30,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ TrueNode (location: (30,2)-(30,6)) + │ │ │ └── flags: newline, static_literal │ │ ├── in_loc: (29,0)-(29,2) = "in" │ │ └── then_loc: (29,5)-(29,9) = "then" │ ├── consequent: │ │ @ ElseNode (location: (31,0)-(33,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (31,0)-(31,4) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (32,2)-(32,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ TrueNode (location: (32,2)-(32,6)) + │ │ │ └── flags: newline, static_literal │ │ └── end_keyword_loc: (33,0)-(33,3) = "end" │ ├── case_keyword_loc: (1,0)-(1,4) = "case" │ └── end_keyword_loc: (33,0)-(33,3) = "end" ├── @ CaseMatchNode (location: (34,0)-(36,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (34,5)-(34,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -369,28 +453,33 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (35,0)-(35,17)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ArrayPatternNode (location: (35,3)-(35,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: │ │ │ │ @ ConstantReadNode (location: (35,3)-(35,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :A │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ IntegerNode (location: (35,5)-(35,6)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── @ IntegerNode (location: (35,8)-(35,9)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (35,11)-(35,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (35,11)-(35,12) = "*" │ │ │ │ └── expression: │ │ │ │ @ LocalVariableTargetNode (location: (35,12)-(35,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ ├── posts: (length: 1) │ │ │ │ └── @ IntegerNode (location: (35,15)-(35,16)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 3 │ │ │ ├── opening_loc: (35,4)-(35,5) = "[" │ │ │ └── closing_loc: (35,16)-(35,17) = "]" @@ -401,6 +490,7 @@ │ ├── case_keyword_loc: (34,0)-(34,4) = "case" │ └── end_keyword_loc: (36,0)-(36,3) = "end" ├── @ CaseMatchNode (location: (37,0)-(40,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (37,5)-(37,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -414,29 +504,35 @@ │ │ └── block: ∅ │ ├── conditions: (length: 1) │ │ └── @ InNode (location: (38,0)-(38,4)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ ConstantReadNode (location: (38,3)-(38,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── statements: ∅ │ │ ├── in_loc: (38,0)-(38,2) = "in" │ │ └── then_loc: ∅ │ ├── consequent: │ │ @ ElseNode (location: (39,0)-(40,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (39,0)-(39,4) = "else" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (40,0)-(40,3) = "end" │ ├── case_keyword_loc: (37,0)-(37,4) = "case" │ └── end_keyword_loc: (40,0)-(40,3) = "end" └── @ MatchPredicateNode (location: (41,0)-(41,8)) + ├── flags: newline ├── value: │ @ IntegerNode (location: (41,0)-(41,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── pattern: │ @ ArrayPatternNode (location: (41,5)-(41,8)) + │ ├── flags: ∅ │ ├── constant: ∅ │ ├── requireds: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (41,6)-(41,7)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── rest: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/pragma.txt b/test/prism/snapshots/unparser/corpus/literal/pragma.txt index 08e386b872..2a82f0c860 100644 --- a/test/prism/snapshots/unparser/corpus/literal/pragma.txt +++ b/test/prism/snapshots/unparser/corpus/literal/pragma.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(4,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,7)) + ├── flags: ∅ └── body: (length: 4) ├── @ SourceEncodingNode (location: (1,0)-(1,12)) + │ └── flags: newline, static_literal ├── @ SourceFileNode (location: (2,0)-(2,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ └── filepath: "unparser/corpus/literal/pragma.txt" ├── @ SourceLineNode (location: (3,0)-(3,8)) + │ └── flags: newline, static_literal └── @ CallNode (location: (4,0)-(4,7)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :__dir__ diff --git a/test/prism/snapshots/unparser/corpus/literal/range.txt b/test/prism/snapshots/unparser/corpus/literal/range.txt index ab015d04fc..d6bbe34b34 100644 --- a/test/prism/snapshots/unparser/corpus/literal/range.txt +++ b/test/prism/snapshots/unparser/corpus/literal/range.txt @@ -1,55 +1,61 @@ @ ProgramNode (location: (1,0)-(4,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,5)) + ├── flags: ∅ └── body: (length: 4) ├── @ ParenthesesNode (location: (1,0)-(1,5)) + │ ├── flags: newline │ ├── body: │ │ @ StatementsNode (location: (1,1)-(1,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (1,1)-(1,4)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline, static_literal │ │ ├── left: │ │ │ @ IntegerNode (location: (1,1)-(1,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (1,2)-(1,4) = ".." │ ├── opening_loc: (1,0)-(1,1) = "(" │ └── closing_loc: (1,4)-(1,5) = ")" ├── @ RangeNode (location: (2,0)-(2,4)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── left: │ │ @ IntegerNode (location: (2,0)-(2,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ IntegerNode (location: (2,3)-(2,4)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: (2,1)-(2,3) = ".." ├── @ ParenthesesNode (location: (3,0)-(3,6)) + │ ├── flags: newline │ ├── body: │ │ @ StatementsNode (location: (3,1)-(3,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RangeNode (location: (3,1)-(3,5)) - │ │ ├── flags: exclude_end + │ │ ├── flags: newline, static_literal, exclude_end │ │ ├── left: │ │ │ @ IntegerNode (location: (3,1)-(3,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── right: ∅ │ │ └── operator_loc: (3,2)-(3,5) = "..." │ ├── opening_loc: (3,0)-(3,1) = "(" │ └── closing_loc: (3,5)-(3,6) = ")" └── @ RangeNode (location: (4,0)-(4,5)) - ├── flags: exclude_end + ├── flags: newline, static_literal, exclude_end ├── left: │ @ IntegerNode (location: (4,0)-(4,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── right: │ @ IntegerNode (location: (4,4)-(4,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 └── operator_loc: (4,1)-(4,4) = "..." diff --git a/test/prism/snapshots/unparser/corpus/literal/rescue.txt b/test/prism/snapshots/unparser/corpus/literal/rescue.txt index d3c9d62166..78801c1d90 100644 --- a/test/prism/snapshots/unparser/corpus/literal/rescue.txt +++ b/test/prism/snapshots/unparser/corpus/literal/rescue.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,27)) +├── flags: ∅ ├── locals: [:x] └── statements: @ StatementsNode (location: (1,0)-(3,27)) + ├── flags: ∅ └── body: (length: 3) ├── @ RescueModifierNode (location: (1,0)-(1,14)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -28,6 +31,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ RescueModifierNode (location: (2,0)-(2,21)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (2,0)-(2,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -59,15 +63,19 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ LocalVariableWriteNode (location: (3,0)-(3,27)) + ├── flags: newline ├── name: :x ├── depth: 0 ├── name_loc: (3,0)-(3,1) = "x" ├── value: │ @ ParenthesesNode (location: (3,4)-(3,27)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,5)-(3,26)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (3,5)-(3,26)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ CallNode (location: (3,5)-(3,8)) │ │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/unparser/corpus/literal/send.txt b/test/prism/snapshots/unparser/corpus/literal/send.txt index 3fd7f719a1..56d1374029 100644 --- a/test/prism/snapshots/unparser/corpus/literal/send.txt +++ b/test/prism/snapshots/unparser/corpus/literal/send.txt @@ -1,31 +1,42 @@ @ ProgramNode (location: (1,0)-(84,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(84,7)) + ├── flags: ∅ └── body: (length: 62) ├── @ ModuleNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── locals: [:foo, :a, :_] │ ├── module_keyword_loc: (1,0)-(1,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (1,7)-(1,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (2,2)-(2,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableOrWriteNode (location: (2,2)-(2,22)) + │ │ ├── flags: newline │ │ ├── name_loc: (2,2)-(2,5) = "foo" │ │ ├── operator_loc: (2,6)-(2,9) = "||=" │ │ ├── value: │ │ │ @ ParenthesesNode (location: (2,10)-(2,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (2,11)-(2,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ MultiWriteNode (location: (2,11)-(2,21)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ ├── @ LocalVariableTargetNode (location: (2,12)-(2,13)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :a │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ └── @ LocalVariableTargetNode (location: (2,15)-(2,16)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :_ │ │ │ │ │ └── depth: 0 │ │ │ │ ├── rest: ∅ @@ -51,27 +62,32 @@ │ ├── end_keyword_loc: (3,0)-(3,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (5,0)-(8,3)) + │ ├── flags: newline │ ├── locals: [:local] │ ├── module_keyword_loc: (5,0)-(5,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (5,7)-(5,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (6,2)-(7,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ LocalVariableWriteNode (location: (6,2)-(6,11)) + │ │ │ ├── flags: newline │ │ │ ├── name: :local │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (6,2)-(6,7) = "local" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (6,10)-(6,11)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: (6,8)-(6,9) = "=" │ │ └── @ CallNode (location: (7,2)-(7,11)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (7,2)-(7,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :local │ │ │ └── depth: 0 │ │ ├── call_operator_loc: (7,7)-(7,8) = "." @@ -84,13 +100,15 @@ │ ├── end_keyword_loc: (8,0)-(8,3) = "end" │ └── name: :A ├── @ CallNode (location: (9,0)-(10,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ClassNode (location: (9,0)-(10,3)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── class_keyword_loc: (9,0)-(9,5) = "class" │ │ ├── constant_path: │ │ │ @ ConstantReadNode (location: (9,6)-(9,7)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── inheritance_operator_loc: ∅ │ │ ├── superclass: ∅ @@ -105,13 +123,15 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (11,0)-(12,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ModuleNode (location: (11,0)-(12,3)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── module_keyword_loc: (11,0)-(11,6) = "module" │ │ ├── constant_path: │ │ │ @ ConstantReadNode (location: (11,7)-(11,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── body: ∅ │ │ ├── end_keyword_loc: (12,0)-(12,3) = "end" @@ -124,13 +144,15 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (13,0)-(15,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ BeginNode (location: (13,0)-(15,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: (13,0)-(13,5) = "begin" │ │ ├── statements: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (14,0)-(14,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (14,0)-(14,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -148,15 +170,19 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (16,0)-(19,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CaseNode (location: (16,0)-(19,3)) + │ │ ├── flags: ∅ │ │ ├── predicate: │ │ │ @ ParenthesesNode (location: (16,5)-(17,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (16,6)-(17,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 2) │ │ │ │ ├── @ DefNode (location: (16,6)-(17,3)) + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── name: :foo │ │ │ │ │ ├── name_loc: (16,10)-(16,13) = "foo" │ │ │ │ │ ├── receiver: ∅ @@ -170,7 +196,7 @@ │ │ │ │ │ ├── equal_loc: ∅ │ │ │ │ │ └── end_keyword_loc: (17,0)-(17,3) = "end" │ │ │ │ └── @ SymbolNode (location: (17,5)-(17,9)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (17,5)-(17,6) = ":" │ │ │ │ ├── value_loc: (17,6)-(17,9) = "bar" │ │ │ │ ├── closing_loc: ∅ @@ -179,6 +205,7 @@ │ │ │ └── closing_loc: (17,9)-(17,10) = ")" │ │ ├── conditions: (length: 1) │ │ │ └── @ WhenNode (location: (18,0)-(18,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (18,0)-(18,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (18,5)-(18,8)) @@ -204,9 +231,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (20,0)-(22,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CaseNode (location: (20,0)-(22,3)) + │ │ ├── flags: ∅ │ │ ├── predicate: │ │ │ @ CallNode (location: (20,5)-(20,8)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -220,6 +248,7 @@ │ │ │ └── block: ∅ │ │ ├── conditions: (length: 1) │ │ │ └── @ WhenNode (location: (21,0)-(21,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (21,0)-(21,4) = "when" │ │ │ ├── conditions: (length: 1) │ │ │ │ └── @ CallNode (location: (21,5)-(21,8)) @@ -245,14 +274,16 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (23,0)-(24,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ SingletonClassNode (location: (23,0)-(24,3)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── class_keyword_loc: (23,0)-(23,5) = "class" │ │ ├── operator_loc: (23,6)-(23,8) = "<<" │ │ ├── expression: │ │ │ @ SelfNode (location: (23,9)-(23,13)) + │ │ │ └── flags: ∅ │ │ ├── body: ∅ │ │ └── end_keyword_loc: (24,0)-(24,3) = "end" │ ├── call_operator_loc: (24,3)-(24,4) = "." @@ -263,13 +294,15 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (25,0)-(26,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ DefNode (location: (25,0)-(26,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ ├── name_loc: (25,9)-(25,12) = "foo" │ │ ├── receiver: │ │ │ @ SelfNode (location: (25,4)-(25,8)) + │ │ │ └── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── body: ∅ │ │ ├── locals: [] @@ -287,9 +320,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (27,0)-(28,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ DefNode (location: (27,0)-(28,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ ├── name_loc: (27,4)-(27,7) = "foo" │ │ ├── receiver: ∅ @@ -310,7 +344,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (29,0)-(30,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ UntilNode (location: (29,0)-(30,3)) │ │ ├── flags: ∅ @@ -336,7 +370,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (31,0)-(32,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ WhileNode (location: (31,0)-(32,3)) │ │ ├── flags: ∅ @@ -362,7 +396,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (33,0)-(34,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (33,0)-(34,1)) │ │ ├── flags: ignore_visibility @@ -375,6 +409,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (33,5)-(34,1)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -388,9 +423,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (35,0)-(36,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IfNode (location: (35,0)-(36,3)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (35,0)-(35,2) = "if" │ │ ├── predicate: │ │ │ @ CallNode (location: (35,3)-(35,6)) @@ -415,17 +451,19 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (37,0)-(37,19)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (37,0)-(37,15)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (37,1)-(37,14)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (37,1)-(37,14)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ RegularExpressionNode (location: (37,1)-(37,6)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (37,1)-(37,2) = "/" │ │ │ │ ├── content_loc: (37,2)-(37,5) = "bar" │ │ │ │ ├── closing_loc: (37,5)-(37,6) = "/" @@ -439,7 +477,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ SymbolNode (location: (37,10)-(37,14)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (37,10)-(37,11) = ":" │ │ │ │ ├── value_loc: (37,11)-(37,14) = "foo" │ │ │ │ ├── closing_loc: ∅ @@ -456,21 +494,23 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (38,0)-(38,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (38,0)-(38,6)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (38,1)-(38,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ RangeNode (location: (38,1)-(38,5)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline, static_literal │ │ │ ├── left: │ │ │ │ @ IntegerNode (location: (38,1)-(38,2)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── right: │ │ │ │ @ IntegerNode (location: (38,4)-(38,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── operator_loc: (38,2)-(38,4) = ".." │ │ ├── opening_loc: (38,0)-(38,1) = "(" @@ -483,14 +523,16 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (39,0)-(39,14)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (39,1)-(39,13)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (39,1)-(39,13)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (39,1)-(39,4)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -511,7 +553,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ RegularExpressionNode (location: (39,8)-(39,13)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (39,8)-(39,9) = "/" │ │ │ │ ├── content_loc: (39,9)-(39,12) = "bar" │ │ │ │ ├── closing_loc: (39,12)-(39,13) = "/" @@ -528,10 +570,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (40,0)-(40,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RegularExpressionNode (location: (40,0)-(40,5)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (40,0)-(40,1) = "/" │ │ ├── content_loc: (40,1)-(40,4) = "bar" │ │ ├── closing_loc: (40,4)-(40,5) = "/" @@ -545,7 +587,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (40,9)-(40,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (40,9)-(40,10) = ":" │ │ ├── value_loc: (40,10)-(40,13) = "foo" │ │ ├── closing_loc: ∅ @@ -553,10 +595,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (41,0)-(41,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ RegularExpressionNode (location: (41,0)-(41,5)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (41,0)-(41,1) = "/" │ │ ├── content_loc: (41,1)-(41,4) = "bar" │ │ ├── closing_loc: (41,4)-(41,5) = "/" @@ -582,17 +624,17 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ RangeNode (location: (42,0)-(42,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── left: │ │ @ IntegerNode (location: (42,0)-(42,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── right: │ │ @ CallNode (location: (42,3)-(42,8)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (42,3)-(42,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── call_operator_loc: (42,4)-(42,5) = "." │ │ ├── name: :max @@ -603,9 +645,10 @@ │ │ └── block: ∅ │ └── operator_loc: (42,1)-(42,3) = ".." ├── @ CallNode (location: (43,0)-(43,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ConstantReadNode (location: (43,0)-(43,1)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── call_operator_loc: (43,1)-(43,2) = "." │ ├── name: :foo @@ -615,7 +658,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (44,0)-(44,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :FOO @@ -625,7 +668,7 @@ │ ├── closing_loc: (44,4)-(44,5) = ")" │ └── block: ∅ ├── @ CallNode (location: (45,0)-(45,4)) - │ ├── flags: safe_navigation + │ ├── flags: newline, safe_navigation │ ├── receiver: │ │ @ CallNode (location: (45,0)-(45,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -645,7 +688,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (46,0)-(46,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (46,0)-(46,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -665,7 +708,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (47,0)-(47,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -675,7 +718,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (48,0)-(48,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (48,0)-(48,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -696,11 +739,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ParenthesesNode (location: (48,7)-(48,18)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (48,8)-(48,17)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (48,8)-(48,17)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (48,8)-(48,11)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -737,7 +782,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (49,0)-(49,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (49,0)-(49,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -758,7 +803,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ RegularExpressionNode (location: (49,7)-(49,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (49,7)-(49,8) = "/" │ │ ├── content_loc: (49,8)-(49,11) = "bar" │ │ ├── closing_loc: (49,11)-(49,12) = "/" @@ -766,7 +811,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (50,0)-(50,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -776,12 +821,16 @@ │ ├── closing_loc: (50,17)-(50,18) = ")" │ └── block: │ @ BlockArgumentNode (location: (50,4)-(50,17)) + │ ├── flags: ∅ │ ├── expression: │ │ @ ParenthesesNode (location: (50,5)-(50,17)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (50,6)-(50,16)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ OrNode (location: (50,6)-(50,16)) + │ │ │ ├── flags: newline │ │ │ ├── left: │ │ │ │ @ CallNode (location: (50,6)-(50,9)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -809,7 +858,7 @@ │ │ └── closing_loc: (50,16)-(50,17) = ")" │ └── operator_loc: (50,4)-(50,5) = "&" ├── @ CallNode (location: (51,0)-(51,10)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -819,6 +868,7 @@ │ ├── closing_loc: (51,10)-(51,11) = ")" │ └── block: │ @ BlockArgumentNode (location: (51,4)-(51,10)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (51,5)-(51,10)) │ │ ├── flags: variable_call, ignore_visibility @@ -832,7 +882,7 @@ │ │ └── block: ∅ │ └── operator_loc: (51,4)-(51,5) = "&" ├── @ CallNode (location: (52,0)-(52,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -843,6 +893,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (52,4)-(52,9)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (52,4)-(52,5) = "*" │ │ └── expression: │ │ @ CallNode (location: (52,5)-(52,9)) @@ -858,6 +909,7 @@ │ ├── closing_loc: (52,17)-(52,18) = ")" │ └── block: │ @ BlockArgumentNode (location: (52,11)-(52,17)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (52,12)-(52,17)) │ │ ├── flags: variable_call, ignore_visibility @@ -871,7 +923,7 @@ │ │ └── block: ∅ │ └── operator_loc: (52,11)-(52,12) = "&" ├── @ CallNode (location: (53,0)-(53,15)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -882,6 +934,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (53,4)-(53,14)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (53,4)-(53,5) = "*" │ │ └── expression: │ │ @ CallNode (location: (53,5)-(53,14)) @@ -897,7 +950,7 @@ │ ├── closing_loc: (53,14)-(53,15) = ")" │ └── block: ∅ ├── @ CallNode (location: (54,0)-(54,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -908,15 +961,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ IntegerNode (location: (54,4)-(54,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (54,7)-(54,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: (54,8)-(54,9) = ")" │ └── block: ∅ ├── @ CallNode (location: (55,0)-(55,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -939,7 +992,7 @@ │ ├── closing_loc: (55,7)-(55,8) = ")" │ └── block: ∅ ├── @ CallNode (location: (56,0)-(56,15)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -960,6 +1013,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ SplatNode (location: (56,9)-(56,14)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (56,9)-(56,10) = "*" │ │ └── expression: │ │ @ CallNode (location: (56,10)-(56,14)) @@ -975,7 +1029,7 @@ │ ├── closing_loc: (56,14)-(56,15) = ")" │ └── block: ∅ ├── @ CallNode (location: (57,0)-(57,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1007,7 +1061,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ RegularExpressionNode (location: (57,11)-(57,16)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (57,11)-(57,12) = "/" │ │ │ ├── content_loc: (57,12)-(57,15) = "bar" │ │ │ ├── closing_loc: (57,15)-(57,16) = "/" @@ -1017,7 +1071,7 @@ │ ├── closing_loc: (57,16)-(57,17) = ")" │ └── block: ∅ ├── @ CallNode (location: (58,0)-(58,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (58,0)-(58,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1037,6 +1091,7 @@ │ ├── closing_loc: (58,12)-(58,13) = ")" │ └── block: │ @ BlockArgumentNode (location: (58,8)-(58,12)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (58,9)-(58,12)) │ │ ├── flags: variable_call, ignore_visibility @@ -1050,7 +1105,7 @@ │ │ └── block: ∅ │ └── operator_loc: (58,8)-(58,9) = "&" ├── @ CallNode (location: (59,0)-(59,26)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (59,0)-(59,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1071,6 +1126,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 3) │ │ ├── @ SplatNode (location: (59,8)-(59,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (59,8)-(59,9) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (59,9)-(59,13)) @@ -1094,6 +1150,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ SplatNode (location: (59,20)-(59,25)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (59,20)-(59,21) = "*" │ │ └── expression: │ │ @ CallNode (location: (59,21)-(59,25)) @@ -1109,7 +1166,7 @@ │ ├── closing_loc: (59,25)-(59,26) = ")" │ └── block: ∅ ├── @ CallNode (location: (60,0)-(60,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (60,0)-(60,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1130,6 +1187,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (60,8)-(60,13)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (60,8)-(60,9) = "*" │ │ └── expression: │ │ @ CallNode (location: (60,9)-(60,13)) @@ -1145,7 +1203,7 @@ │ ├── closing_loc: (60,13)-(60,14) = ")" │ └── block: ∅ ├── @ CallNode (location: (61,0)-(61,19)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (61,0)-(61,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1166,6 +1224,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SplatNode (location: (61,8)-(61,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (61,8)-(61,9) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (61,9)-(61,13)) @@ -1191,7 +1250,7 @@ │ ├── closing_loc: (61,18)-(61,19) = ")" │ └── block: ∅ ├── @ CallNode (location: (62,0)-(62,19)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (62,0)-(62,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1212,7 +1271,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (62,8)-(62,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (62,8)-(62,9) = ":" │ │ ├── value_loc: (62,9)-(62,12) = "baz" │ │ ├── closing_loc: ∅ @@ -1220,6 +1279,7 @@ │ ├── closing_loc: (62,18)-(62,19) = ")" │ └── block: │ @ BlockArgumentNode (location: (62,14)-(62,18)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (62,15)-(62,18)) │ │ ├── flags: variable_call, ignore_visibility @@ -1233,7 +1293,7 @@ │ │ └── block: ∅ │ └── operator_loc: (62,14)-(62,15) = "&" ├── @ CallNode (location: (63,0)-(63,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (63,0)-(63,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1257,9 +1317,10 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (63,8)-(63,16)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (63,8)-(63,12)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (63,8)-(63,11) = "baz" │ │ │ ├── closing_loc: (63,11)-(63,12) = ":" @@ -1279,7 +1340,7 @@ │ ├── closing_loc: (63,16)-(63,17) = ")" │ └── block: ∅ ├── @ CallNode (location: (64,0)-(64,26)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (64,0)-(64,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1313,9 +1374,10 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (64,13)-(64,25)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ StringNode (location: (64,13)-(64,18)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (64,13)-(64,14) = "\"" │ │ │ ├── content_loc: (64,14)-(64,17) = "baz" │ │ │ ├── closing_loc: (64,17)-(64,18) = "\"" @@ -1335,7 +1397,7 @@ │ ├── closing_loc: (64,25)-(64,26) = ")" │ └── block: ∅ ├── @ CallNode (location: (65,0)-(65,19)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (65,0)-(65,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1366,6 +1428,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ SplatNode (location: (65,13)-(65,18)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (65,13)-(65,14) = "*" │ │ └── expression: │ │ @ CallNode (location: (65,14)-(65,18)) @@ -1381,7 +1444,7 @@ │ ├── closing_loc: (65,18)-(65,19) = ")" │ └── block: ∅ ├── @ CallNode (location: (66,0)-(66,27)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (66,0)-(66,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1412,6 +1475,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ SplatNode (location: (66,13)-(66,18)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (66,13)-(66,14) = "*" │ │ └── expression: │ │ @ CallNode (location: (66,14)-(66,18)) @@ -1427,6 +1491,7 @@ │ ├── closing_loc: (66,26)-(66,27) = ")" │ └── block: │ @ BlockArgumentNode (location: (66,20)-(66,26)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (66,21)-(66,26)) │ │ ├── flags: variable_call, ignore_visibility @@ -1440,7 +1505,7 @@ │ │ └── block: ∅ │ └── operator_loc: (66,20)-(66,21) = "&" ├── @ CallNode (location: (67,0)-(67,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (67,0)-(67,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1471,13 +1536,14 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ HashNode (location: (67,13)-(67,15)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (67,13)-(67,14) = "{" │ │ ├── elements: (length: 0) │ │ └── closing_loc: (67,14)-(67,15) = "}" │ ├── closing_loc: (67,15)-(67,16) = ")" │ └── block: ∅ ├── @ CallNode (location: (68,0)-(68,26)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (68,0)-(68,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1498,12 +1564,14 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ HashNode (location: (68,8)-(68,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (68,8)-(68,9) = "{" │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ AssocNode (location: (68,10)-(68,18)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (68,10)-(68,14)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (68,10)-(68,13) = "foo" │ │ │ │ │ ├── closing_loc: (68,13)-(68,14) = ":" @@ -1534,7 +1602,7 @@ │ ├── closing_loc: (68,25)-(68,26) = ")" │ └── block: ∅ ├── @ CallNode (location: (69,0)-(69,12)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ CallNode (location: (69,0)-(69,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1555,7 +1623,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (69,8)-(69,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (69,8)-(69,9) = ":" │ │ ├── value_loc: (69,9)-(69,12) = "baz" │ │ ├── closing_loc: ∅ @@ -1563,7 +1631,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (70,0)-(70,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -1577,9 +1645,10 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (70,4)-(70,8)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (70,4)-(70,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (70,4)-(70,5) = "a" │ │ │ ├── closing_loc: (70,5)-(70,6) = ":" @@ -1599,7 +1668,7 @@ │ ├── closing_loc: (70,8)-(70,9) = ")" │ └── block: ∅ ├── @ CallNode (location: (71,0)-(71,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (71,0)-(71,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1623,9 +1692,10 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (71,6)-(71,10)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (71,6)-(71,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (71,6)-(71,7) = "a" │ │ │ ├── closing_loc: (71,7)-(71,8) = ":" @@ -1645,7 +1715,7 @@ │ ├── closing_loc: (71,10)-(71,11) = ")" │ └── block: ∅ ├── @ CallNode (location: (72,0)-(72,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (72,0)-(72,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1669,6 +1739,7 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (72,6)-(72,9)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (72,8)-(72,9)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -1684,7 +1755,7 @@ │ ├── closing_loc: (72,9)-(72,10) = ")" │ └── block: ∅ ├── @ CallNode (location: (73,0)-(73,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (73,0)-(73,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1705,6 +1776,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (73,4)-(73,8)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (73,4)-(73,5) = "*" │ │ └── expression: │ │ @ CallNode (location: (73,5)-(73,8)) @@ -1720,7 +1792,7 @@ │ ├── closing_loc: (73,8)-(73,9) = "]" │ └── block: ∅ ├── @ CallNode (location: (74,0)-(74,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (74,0)-(74,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1741,15 +1813,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ IntegerNode (location: (74,4)-(74,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (74,7)-(74,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── closing_loc: (74,8)-(74,9) = "]" │ └── block: ∅ ├── @ CallNode (location: (75,0)-(75,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (75,0)-(75,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -1769,9 +1841,10 @@ │ ├── closing_loc: (75,4)-(75,5) = "]" │ └── block: ∅ ├── @ CallNode (location: (76,0)-(76,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ SelfNode (location: (76,0)-(76,4)) + │ │ └── flags: ∅ │ ├── call_operator_loc: (76,4)-(76,5) = "." │ ├── name: :foo │ ├── message_loc: (76,5)-(76,8) = "foo" @@ -1780,9 +1853,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (77,0)-(77,13)) - │ ├── flags: attribute_write, ignore_visibility + │ ├── flags: newline, attribute_write, ignore_visibility │ ├── receiver: │ │ @ SelfNode (location: (77,0)-(77,4)) + │ │ └── flags: ∅ │ ├── call_operator_loc: (77,4)-(77,5) = "." │ ├── name: :foo= │ ├── message_loc: (77,5)-(77,8) = "foo" @@ -1792,7 +1866,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (77,9)-(77,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (77,9)-(77,10) = ":" │ │ ├── value_loc: (77,10)-(77,13) = "bar" │ │ ├── closing_loc: ∅ @@ -1800,14 +1874,16 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (78,0)-(78,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (78,0)-(78,7)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (78,1)-(78,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (78,1)-(78,6)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (78,1)-(78,2)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -1850,11 +1926,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ParenthesesNode (location: (78,10)-(78,17)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (78,11)-(78,16)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (78,11)-(78,16)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (78,11)-(78,12)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -1891,14 +1969,16 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (79,0)-(79,19)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (79,0)-(79,7)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (79,1)-(79,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (79,1)-(79,6)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (79,1)-(79,2)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -1986,14 +2066,16 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (80,0)-(80,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (80,0)-(80,7)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (80,1)-(80,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (80,1)-(80,6)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (80,1)-(80,2)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -2057,6 +2139,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SplatNode (location: (80,14)-(80,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (80,14)-(80,15) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (80,15)-(80,16)) @@ -2074,7 +2157,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (81,0)-(81,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :x @@ -2088,6 +2171,7 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (81,2)-(81,7)) + │ │ ├── flags: ∅ │ │ ├── value: │ │ │ @ CallNode (location: (81,4)-(81,7)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -2103,7 +2187,7 @@ │ ├── closing_loc: (81,7)-(81,8) = ")" │ └── block: ∅ ├── @ CallNode (location: (82,0)-(82,6)) - │ ├── flags: safe_navigation + │ ├── flags: newline, safe_navigation │ ├── receiver: │ │ @ CallNode (location: (82,0)-(82,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2123,7 +2207,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (83,0)-(83,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (83,0)-(83,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -2156,7 +2240,7 @@ │ ├── closing_loc: (83,7)-(83,8) = ")" │ └── block: ∅ └── @ CallNode (location: (84,0)-(84,7)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (84,0)-(84,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/unparser/corpus/literal/since/27.txt b/test/prism/snapshots/unparser/corpus/literal/since/27.txt index 60edc18604..e4cda312f8 100644 --- a/test/prism/snapshots/unparser/corpus/literal/since/27.txt +++ b/test/prism/snapshots/unparser/corpus/literal/since/27.txt @@ -1,23 +1,29 @@ @ ProgramNode (location: (1,0)-(4,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,5)) + ├── flags: ∅ └── body: (length: 2) ├── @ LambdaNode (location: (1,0)-(3,1)) + │ ├── flags: newline │ ├── locals: [:_1, :_2] │ ├── operator_loc: (1,0)-(1,2) = "->" │ ├── opening_loc: (1,3)-(1,4) = "{" │ ├── closing_loc: (3,0)-(3,1) = "}" │ ├── parameters: │ │ @ NumberedParametersNode (location: (1,0)-(3,1)) + │ │ ├── flags: ∅ │ │ └── maximum: 2 │ └── body: │ @ StatementsNode (location: (2,2)-(2,9)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,2)-(2,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (2,2)-(2,4)) + │ │ ├── flags: ∅ │ │ ├── name: :_1 │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -29,20 +35,23 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (2,7)-(2,9)) + │ │ ├── flags: ∅ │ │ ├── name: :_2 │ │ └── depth: 0 │ ├── closing_loc: ∅ │ └── block: ∅ └── @ ParenthesesNode (location: (4,0)-(4,5)) + ├── flags: newline ├── body: │ @ StatementsNode (location: (4,1)-(4,4)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RangeNode (location: (4,1)-(4,4)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── left: ∅ │ ├── right: │ │ @ IntegerNode (location: (4,3)-(4,4)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (4,1)-(4,3) = ".." ├── opening_loc: (4,0)-(4,1) = "(" diff --git a/test/prism/snapshots/unparser/corpus/literal/since/30.txt b/test/prism/snapshots/unparser/corpus/literal/since/30.txt index 300dd869f5..0102b2c97b 100644 --- a/test/prism/snapshots/unparser/corpus/literal/since/30.txt +++ b/test/prism/snapshots/unparser/corpus/literal/since/30.txt @@ -1,18 +1,23 @@ @ ProgramNode (location: (1,0)-(4,17)) +├── flags: ∅ ├── locals: [:a, :foo] └── statements: @ StatementsNode (location: (1,0)-(4,17)) + ├── flags: ∅ └── body: (length: 4) ├── @ MatchRequiredNode (location: (1,0)-(1,8)) + │ ├── flags: newline │ ├── value: │ │ @ IntegerNode (location: (1,0)-(1,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── pattern: │ │ @ ArrayPatternNode (location: (1,5)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -21,16 +26,19 @@ │ │ └── closing_loc: (1,7)-(1,8) = "]" │ └── operator_loc: (1,2)-(1,4) = "=>" ├── @ MatchRequiredNode (location: (2,0)-(2,8)) + │ ├── flags: newline │ ├── value: │ │ @ IntegerNode (location: (2,0)-(2,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,5)-(2,8)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 0) │ │ ├── rest: │ │ │ @ SplatNode (location: (2,6)-(2,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (2,6)-(2,7) = "*" │ │ │ └── expression: ∅ │ │ ├── posts: (length: 0) @@ -38,49 +46,59 @@ │ │ └── closing_loc: (2,7)-(2,8) = "]" │ └── operator_loc: (2,2)-(2,4) = "=>" ├── @ MatchPredicateNode (location: (3,0)-(3,15)) + │ ├── flags: newline │ ├── value: │ │ @ IntegerNode (location: (3,0)-(3,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── pattern: │ │ @ FindPatternNode (location: (3,5)-(3,15)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── left: │ │ │ @ SplatNode (location: (3,6)-(3,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (3,6)-(3,7) = "*" │ │ │ └── expression: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ IntegerNode (location: (3,9)-(3,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── right: │ │ │ @ SplatNode (location: (3,13)-(3,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (3,13)-(3,14) = "*" │ │ │ └── expression: ∅ │ │ ├── opening_loc: (3,5)-(3,6) = "[" │ │ └── closing_loc: (3,14)-(3,15) = "]" │ └── operator_loc: (3,2)-(3,4) = "in" └── @ MatchPredicateNode (location: (4,0)-(4,17)) + ├── flags: newline ├── value: │ @ IntegerNode (location: (4,0)-(4,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── pattern: │ @ FindPatternNode (location: (4,5)-(4,17)) + │ ├── flags: ∅ │ ├── constant: ∅ │ ├── left: │ │ @ SplatNode (location: (4,6)-(4,7)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (4,6)-(4,7) = "*" │ │ └── expression: ∅ │ ├── requireds: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (4,9)-(4,10)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── right: │ │ @ SplatNode (location: (4,12)-(4,16)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (4,12)-(4,13) = "*" │ │ └── expression: │ │ @ LocalVariableTargetNode (location: (4,13)-(4,16)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── opening_loc: (4,5)-(4,6) = "[" diff --git a/test/prism/snapshots/unparser/corpus/literal/since/31.txt b/test/prism/snapshots/unparser/corpus/literal/since/31.txt index 142a56ae83..81bcd9662b 100644 --- a/test/prism/snapshots/unparser/corpus/literal/since/31.txt +++ b/test/prism/snapshots/unparser/corpus/literal/since/31.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(7,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ DefNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,8)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -23,9 +27,10 @@ │ │ └── operator_loc: (1,8)-(1,9) = "&" │ ├── body: │ │ @ StatementsNode (location: (2,2)-(2,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,7)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -35,6 +40,7 @@ │ │ ├── closing_loc: (2,7)-(2,8) = ")" │ │ └── block: │ │ @ BlockArgumentNode (location: (2,6)-(2,7)) + │ │ ├── flags: ∅ │ │ ├── expression: ∅ │ │ └── operator_loc: (2,6)-(2,7) = "&" │ ├── locals: [] @@ -45,11 +51,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" └── @ DefNode (location: (5,0)-(7,3)) + ├── flags: newline ├── name: :foo ├── name_loc: (5,4)-(5,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (5,8)-(5,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (5,8)-(5,9)) │ │ ├── flags: ∅ @@ -67,9 +75,10 @@ │ └── operator_loc: (5,11)-(5,12) = "&" ├── body: │ @ StatementsNode (location: (6,2)-(6,7)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (6,2)-(6,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -79,6 +88,7 @@ │ ├── closing_loc: (6,7)-(6,8) = ")" │ └── block: │ @ BlockArgumentNode (location: (6,6)-(6,7)) + │ ├── flags: ∅ │ ├── expression: ∅ │ └── operator_loc: (6,6)-(6,7) = "&" ├── locals: [:a] diff --git a/test/prism/snapshots/unparser/corpus/literal/since/32.txt b/test/prism/snapshots/unparser/corpus/literal/since/32.txt index 2b28be2fa8..efd0119678 100644 --- a/test/prism/snapshots/unparser/corpus/literal/since/32.txt +++ b/test/prism/snapshots/unparser/corpus/literal/since/32.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(11,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(11,3)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,8)-(1,20)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,8)-(1,16)) │ │ │ ├── flags: ∅ @@ -26,9 +30,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (2,2)-(2,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(2,19)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -39,12 +44,14 @@ │ │ │ ├── flags: contains_keywords, contains_keyword_splat │ │ │ └── arguments: (length: 2) │ │ │ ├── @ LocalVariableReadNode (location: (2,6)-(2,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :argument │ │ │ │ └── depth: 0 │ │ │ └── @ KeywordHashNode (location: (2,16)-(2,18)) │ │ │ ├── flags: ∅ │ │ │ └── elements: (length: 1) │ │ │ └── @ AssocSplatNode (location: (2,16)-(2,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: ∅ │ │ │ └── operator_loc: (2,16)-(2,18) = "**" │ │ ├── closing_loc: (2,18)-(2,19) = ")" @@ -57,11 +64,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ DefNode (location: (5,0)-(7,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (5,4)-(5,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (5,8)-(5,19)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (5,8)-(5,16)) │ │ │ ├── flags: ∅ @@ -79,9 +88,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (6,2)-(6,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (6,2)-(6,18)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -92,9 +102,11 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ LocalVariableReadNode (location: (6,6)-(6,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :argument │ │ │ │ └── depth: 0 │ │ │ └── @ SplatNode (location: (6,16)-(6,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (6,16)-(6,17) = "*" │ │ │ └── expression: ∅ │ │ ├── closing_loc: (6,17)-(6,18) = ")" @@ -107,11 +119,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (7,0)-(7,3) = "end" └── @ DefNode (location: (9,0)-(11,3)) + ├── flags: newline ├── name: :foo ├── name_loc: (9,4)-(9,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (9,8)-(9,10)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -126,24 +140,28 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (10,2)-(10,20)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ HashNode (location: (10,2)-(10,20)) + │ ├── flags: newline │ ├── opening_loc: (10,2)-(10,3) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (10,4)-(10,14)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (10,4)-(10,12)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (10,4)-(10,11) = "default" │ │ │ │ ├── closing_loc: (10,11)-(10,12) = ":" │ │ │ │ └── unescaped: "default" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (10,13)-(10,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: ∅ │ │ └── @ AssocSplatNode (location: (10,16)-(10,18)) + │ │ ├── flags: ∅ │ │ ├── value: ∅ │ │ └── operator_loc: (10,16)-(10,18) = "**" │ └── closing_loc: (10,19)-(10,20) = "}" diff --git a/test/prism/snapshots/unparser/corpus/literal/singletons.txt b/test/prism/snapshots/unparser/corpus/literal/singletons.txt index 45c06f7b07..23069207c9 100644 --- a/test/prism/snapshots/unparser/corpus/literal/singletons.txt +++ b/test/prism/snapshots/unparser/corpus/literal/singletons.txt @@ -1,9 +1,15 @@ @ ProgramNode (location: (1,0)-(4,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,4)) + ├── flags: ∅ └── body: (length: 4) ├── @ FalseNode (location: (1,0)-(1,5)) + │ └── flags: newline, static_literal ├── @ NilNode (location: (2,0)-(2,3)) + │ └── flags: newline, static_literal ├── @ SelfNode (location: (3,0)-(3,4)) + │ └── flags: newline └── @ TrueNode (location: (4,0)-(4,4)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/unparser/corpus/literal/super.txt b/test/prism/snapshots/unparser/corpus/literal/super.txt index d5a7889919..a6311116ca 100644 --- a/test/prism/snapshots/unparser/corpus/literal/super.txt +++ b/test/prism/snapshots/unparser/corpus/literal/super.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(21,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(21,1)) + ├── flags: ∅ └── body: (length: 11) ├── @ ForwardingSuperNode (location: (1,0)-(1,5)) + │ ├── flags: newline │ └── block: ∅ ├── @ SuperNode (location: (2,0)-(2,7)) + │ ├── flags: newline │ ├── keyword_loc: (2,0)-(2,5) = "super" │ ├── lparen_loc: (2,5)-(2,6) = "(" │ ├── arguments: ∅ │ ├── rparen_loc: (2,6)-(2,7) = ")" │ └── block: ∅ ├── @ SuperNode (location: (3,0)-(3,8)) + │ ├── flags: newline │ ├── keyword_loc: (3,0)-(3,5) = "super" │ ├── lparen_loc: (3,5)-(3,6) = "(" │ ├── arguments: @@ -31,6 +36,7 @@ │ ├── rparen_loc: (3,7)-(3,8) = ")" │ └── block: ∅ ├── @ SuperNode (location: (4,0)-(4,11)) + │ ├── flags: newline │ ├── keyword_loc: (4,0)-(4,5) = "super" │ ├── lparen_loc: (4,5)-(4,6) = "(" │ ├── arguments: @@ -60,12 +66,14 @@ │ ├── rparen_loc: (4,10)-(4,11) = ")" │ └── block: ∅ ├── @ SuperNode (location: (5,0)-(5,13)) + │ ├── flags: newline │ ├── keyword_loc: (5,0)-(5,5) = "super" │ ├── lparen_loc: (5,5)-(5,6) = "(" │ ├── arguments: ∅ │ ├── rparen_loc: (5,12)-(5,13) = ")" │ └── block: │ @ BlockArgumentNode (location: (5,6)-(5,12)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (5,7)-(5,12)) │ │ ├── flags: variable_call, ignore_visibility @@ -79,6 +87,7 @@ │ │ └── block: ∅ │ └── operator_loc: (5,6)-(5,7) = "&" ├── @ SuperNode (location: (6,0)-(6,16)) + │ ├── flags: newline │ ├── keyword_loc: (6,0)-(6,5) = "super" │ ├── lparen_loc: (6,5)-(6,6) = "(" │ ├── arguments: @@ -98,6 +107,7 @@ │ ├── rparen_loc: (6,15)-(6,16) = ")" │ └── block: │ @ BlockArgumentNode (location: (6,9)-(6,15)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (6,10)-(6,15)) │ │ ├── flags: variable_call, ignore_visibility @@ -111,6 +121,7 @@ │ │ └── block: ∅ │ └── operator_loc: (6,9)-(6,10) = "&" ├── @ SuperNode (location: (7,0)-(9,2)) + │ ├── flags: newline │ ├── keyword_loc: (7,0)-(7,5) = "super" │ ├── lparen_loc: (7,5)-(7,6) = "(" │ ├── arguments: @@ -128,13 +139,15 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (7,8)-(9,1)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (8,2)-(8,5)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (8,2)-(8,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -148,15 +161,18 @@ │ ├── rparen_loc: (9,1)-(9,2) = ")" │ └── block: ∅ ├── @ ForwardingSuperNode (location: (10,0)-(12,1)) + │ ├── flags: newline │ └── block: │ @ BlockNode (location: (10,6)-(12,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (11,2)-(11,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (11,2)-(11,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -168,6 +184,7 @@ │ ├── opening_loc: (10,6)-(10,7) = "{" │ └── closing_loc: (12,0)-(12,1) = "}" ├── @ SuperNode (location: (13,0)-(15,1)) + │ ├── flags: newline │ ├── keyword_loc: (13,0)-(13,5) = "super" │ ├── lparen_loc: (13,5)-(13,6) = "(" │ ├── arguments: @@ -187,13 +204,15 @@ │ ├── rparen_loc: (13,7)-(13,8) = ")" │ └── block: │ @ BlockNode (location: (13,9)-(15,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (14,2)-(14,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (14,2)-(14,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -205,19 +224,22 @@ │ ├── opening_loc: (13,9)-(13,10) = "{" │ └── closing_loc: (15,0)-(15,1) = "}" ├── @ SuperNode (location: (16,0)-(18,1)) + │ ├── flags: newline │ ├── keyword_loc: (16,0)-(16,5) = "super" │ ├── lparen_loc: (16,5)-(16,6) = "(" │ ├── arguments: ∅ │ ├── rparen_loc: (16,6)-(16,7) = ")" │ └── block: │ @ BlockNode (location: (16,8)-(18,1)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (17,2)-(17,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (17,2)-(17,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -229,6 +251,7 @@ │ ├── opening_loc: (16,8)-(16,9) = "{" │ └── closing_loc: (18,0)-(18,1) = "}" └── @ SuperNode (location: (19,0)-(21,1)) + ├── flags: newline ├── keyword_loc: (19,0)-(19,5) = "super" ├── lparen_loc: (19,5)-(19,6) = "(" ├── arguments: @@ -258,13 +281,15 @@ ├── rparen_loc: (19,10)-(19,11) = ")" └── block: @ BlockNode (location: (19,12)-(21,1)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (20,2)-(20,5)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (20,2)-(20,5)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo diff --git a/test/prism/snapshots/unparser/corpus/literal/unary.txt b/test/prism/snapshots/unparser/corpus/literal/unary.txt index 5e9563d811..be19b0457c 100644 --- a/test/prism/snapshots/unparser/corpus/literal/unary.txt +++ b/test/prism/snapshots/unparser/corpus/literal/unary.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(8,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(8,9)) + ├── flags: ∅ └── body: (length: 8) ├── @ CallNode (location: (1,0)-(1,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (1,1)-(1,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: ∅ │ ├── name: :! @@ -17,17 +19,19 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (2,0)-(2,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (2,1)-(2,5)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (2,2)-(2,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,4)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ IntegerNode (location: (2,3)-(2,4)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :! @@ -46,20 +50,25 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,16)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (3,1)-(3,16)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (3,2)-(3,15)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,2)-(3,15)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ ParenthesesNode (location: (3,3)-(3,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (3,4)-(3,14)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ OrNode (location: (3,4)-(3,14)) + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── left: │ │ │ │ │ │ @ CallNode (location: (3,4)-(3,7)) │ │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -102,20 +111,22 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (4,0)-(4,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (4,1)-(4,9)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ ParenthesesNode (location: (4,1)-(4,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (4,2)-(4,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (4,2)-(4,4)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: newline │ │ │ │ ├── receiver: │ │ │ │ │ @ IntegerNode (location: (4,3)-(4,4)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :! @@ -141,7 +152,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (5,1)-(5,2)) │ │ ├── flags: variable_call, ignore_visibility @@ -161,7 +172,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (6,0)-(6,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (6,1)-(6,2)) │ │ ├── flags: variable_call, ignore_visibility @@ -181,7 +192,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (7,1)-(7,2)) │ │ ├── flags: variable_call, ignore_visibility @@ -201,17 +212,19 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (8,0)-(8,9)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (8,1)-(8,9)) │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (8,1)-(8,5)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (8,2)-(8,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (8,2)-(8,4)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (8,3)-(8,4)) │ │ │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/unparser/corpus/literal/undef.txt b/test/prism/snapshots/unparser/corpus/literal/undef.txt index 282cbe8f87..b7ccf68e27 100644 --- a/test/prism/snapshots/unparser/corpus/literal/undef.txt +++ b/test/prism/snapshots/unparser/corpus/literal/undef.txt @@ -1,27 +1,31 @@ @ ProgramNode (location: (1,0)-(2,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,16)) + ├── flags: ∅ └── body: (length: 2) ├── @ UndefNode (location: (1,0)-(1,10)) + │ ├── flags: newline │ ├── names: (length: 1) │ │ └── @ SymbolNode (location: (1,6)-(1,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,6)-(1,7) = ":" │ │ ├── value_loc: (1,7)-(1,10) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── keyword_loc: (1,0)-(1,5) = "undef" └── @ UndefNode (location: (2,0)-(2,16)) + ├── flags: newline ├── names: (length: 2) │ ├── @ SymbolNode (location: (2,6)-(2,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (2,6)-(2,7) = ":" │ │ ├── value_loc: (2,7)-(2,10) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── @ SymbolNode (location: (2,12)-(2,16)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (2,12)-(2,13) = ":" │ ├── value_loc: (2,13)-(2,16) = "bar" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/literal/variables.txt b/test/prism/snapshots/unparser/corpus/literal/variables.txt index 9ae8ad1207..3861af1a46 100644 --- a/test/prism/snapshots/unparser/corpus/literal/variables.txt +++ b/test/prism/snapshots/unparser/corpus/literal/variables.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(10,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(10,17)) + ├── flags: ∅ └── body: (length: 10) ├── @ CallNode (location: (1,0)-(1,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -14,32 +16,43 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ InstanceVariableReadNode (location: (2,0)-(2,2)) + │ ├── flags: newline │ └── name: :@a ├── @ ClassVariableReadNode (location: (3,0)-(3,3)) + │ ├── flags: newline │ └── name: :@@a ├── @ GlobalVariableReadNode (location: (4,0)-(4,2)) + │ ├── flags: newline │ └── name: :$a ├── @ NumberedReferenceReadNode (location: (5,0)-(5,2)) + │ ├── flags: newline │ └── number: 1 ├── @ BackReferenceReadNode (location: (6,0)-(6,2)) + │ ├── flags: newline │ └── name: :$` ├── @ ConstantReadNode (location: (7,0)-(7,5)) + │ ├── flags: newline │ └── name: :CONST ├── @ ConstantPathNode (location: (8,0)-(8,13)) + │ ├── flags: newline │ ├── parent: │ │ @ ConstantReadNode (location: (8,0)-(8,6)) + │ │ ├── flags: ∅ │ │ └── name: :SCOPED │ ├── name: :CONST │ ├── delimiter_loc: (8,6)-(8,8) = "::" │ └── name_loc: (8,8)-(8,13) = "CONST" ├── @ ConstantPathNode (location: (9,0)-(9,10)) + │ ├── flags: newline │ ├── parent: ∅ │ ├── name: :TOPLEVEL │ ├── delimiter_loc: (9,0)-(9,2) = "::" │ └── name_loc: (9,2)-(9,10) = "TOPLEVEL" └── @ ConstantPathNode (location: (10,0)-(10,17)) + ├── flags: newline ├── parent: │ @ ConstantPathNode (location: (10,0)-(10,10)) + │ ├── flags: ∅ │ ├── parent: ∅ │ ├── name: :TOPLEVEL │ ├── delimiter_loc: (10,0)-(10,2) = "::" diff --git a/test/prism/snapshots/unparser/corpus/literal/while.txt b/test/prism/snapshots/unparser/corpus/literal/while.txt index 0f752f3392..7d9a24ec62 100644 --- a/test/prism/snapshots/unparser/corpus/literal/while.txt +++ b/test/prism/snapshots/unparser/corpus/literal/while.txt @@ -1,19 +1,24 @@ @ ProgramNode (location: (1,0)-(73,3)) +├── flags: ∅ ├── locals: [:x] └── statements: @ StatementsNode (location: (1,0)-(73,3)) + ├── flags: ∅ └── body: (length: 17) ├── @ ModuleNode (location: (1,0)-(7,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (1,0)-(1,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (1,7)-(1,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (2,2)-(6,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,2)-(6,3)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -23,11 +28,14 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (2,6)-(6,3)) + │ │ ├── flags: ∅ │ │ ├── locals: [:bar, :foo] │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (2,8)-(2,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (2,9)-(2,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (2,9)-(2,12)) │ │ │ │ │ ├── flags: ∅ @@ -43,9 +51,10 @@ │ │ │ └── closing_loc: (2,12)-(2,13) = "|" │ │ ├── body: │ │ │ @ StatementsNode (location: (3,4)-(5,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ WhileNode (location: (3,4)-(5,7)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── keyword_loc: (3,4)-(3,9) = "while" │ │ │ ├── closing_loc: (5,4)-(5,7) = "end" │ │ │ ├── predicate: @@ -61,13 +70,16 @@ │ │ │ │ └── block: ∅ │ │ │ └── statements: │ │ │ @ StatementsNode (location: (4,6)-(4,15)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableWriteNode (location: (4,6)-(4,15)) + │ │ │ ├── flags: newline │ │ │ ├── name: :foo │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (4,6)-(4,9) = "foo" │ │ │ ├── value: │ │ │ │ @ LocalVariableReadNode (location: (4,12)-(4,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :bar │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: (4,10)-(4,11) = "=" @@ -76,15 +88,17 @@ │ ├── end_keyword_loc: (7,0)-(7,3) = "end" │ └── name: :A ├── @ DefNode (location: (9,0)-(11,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (9,4)-(9,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (10,2)-(10,28)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (10,2)-(10,28)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (10,12)-(10,17) = "while" │ │ ├── closing_loc: ∅ │ │ ├── predicate: @@ -92,6 +106,7 @@ │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ LocalVariableReadNode (location: (10,18)-(10,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :foo │ │ │ │ └── depth: 0 │ │ │ ├── call_operator_loc: ∅ @@ -116,8 +131,10 @@ │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (10,2)-(10,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (10,2)-(10,11)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── depth: 0 │ │ ├── name_loc: (10,2)-(10,5) = "foo" @@ -141,26 +158,32 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (11,0)-(11,3) = "end" ├── @ ModuleNode (location: (13,0)-(15,3)) + │ ├── flags: newline │ ├── locals: [:foo] │ ├── module_keyword_loc: (13,0)-(13,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (13,7)-(13,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (14,2)-(14,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (14,2)-(14,21)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (14,12)-(14,17) = "while" │ │ ├── closing_loc: ∅ │ │ ├── predicate: │ │ │ @ LocalVariableReadNode (location: (14,18)-(14,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ └── statements: │ │ @ StatementsNode (location: (14,2)-(14,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (14,2)-(14,11)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── depth: 0 │ │ ├── name_loc: (14,2)-(14,5) = "foo" @@ -179,26 +202,32 @@ │ ├── end_keyword_loc: (15,0)-(15,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (17,0)-(19,3)) + │ ├── flags: newline │ ├── locals: [:foo] │ ├── module_keyword_loc: (17,0)-(17,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (17,7)-(17,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (18,2)-(18,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ UntilNode (location: (18,2)-(18,21)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (18,12)-(18,17) = "until" │ │ ├── closing_loc: ∅ │ │ ├── predicate: │ │ │ @ LocalVariableReadNode (location: (18,18)-(18,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ └── statements: │ │ @ StatementsNode (location: (18,2)-(18,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (18,2)-(18,11)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── depth: 0 │ │ ├── name_loc: (18,2)-(18,5) = "foo" @@ -217,16 +246,19 @@ │ ├── end_keyword_loc: (19,0)-(19,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (21,0)-(25,3)) + │ ├── flags: newline │ ├── locals: [:foo] │ ├── module_keyword_loc: (21,0)-(21,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (21,7)-(21,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (22,2)-(24,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (22,2)-(24,5)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (22,2)-(22,7) = "while" │ │ ├── closing_loc: (24,2)-(24,5) = "end" │ │ ├── predicate: @@ -242,8 +274,10 @@ │ │ │ └── block: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (23,4)-(23,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── depth: 0 │ │ ├── name_loc: (23,4)-(23,7) = "foo" @@ -262,16 +296,19 @@ │ ├── end_keyword_loc: (25,0)-(25,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (27,0)-(33,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (27,0)-(27,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (27,7)-(27,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (28,2)-(32,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (28,2)-(32,3)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :each @@ -281,11 +318,14 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (28,7)-(32,3)) + │ │ ├── flags: ∅ │ │ ├── locals: [:baz, :foo] │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (28,9)-(28,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (28,10)-(28,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (28,10)-(28,13)) │ │ │ │ │ ├── flags: ∅ @@ -301,9 +341,10 @@ │ │ │ └── closing_loc: (28,13)-(28,14) = "|" │ │ ├── body: │ │ │ @ StatementsNode (location: (29,4)-(31,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ WhileNode (location: (29,4)-(31,7)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── keyword_loc: (29,4)-(29,9) = "while" │ │ │ ├── closing_loc: (31,4)-(31,7) = "end" │ │ │ ├── predicate: @@ -319,8 +360,10 @@ │ │ │ │ └── block: ∅ │ │ │ └── statements: │ │ │ @ StatementsNode (location: (30,6)-(30,15)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableWriteNode (location: (30,6)-(30,15)) + │ │ │ ├── flags: newline │ │ │ ├── name: :foo │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (30,6)-(30,9) = "foo" @@ -341,16 +384,19 @@ │ ├── end_keyword_loc: (33,0)-(33,3) = "end" │ └── name: :A ├── @ ModuleNode (location: (35,0)-(41,3)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (35,0)-(35,6) = "module" │ ├── constant_path: │ │ @ ConstantReadNode (location: (35,7)-(35,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── body: │ │ @ StatementsNode (location: (36,2)-(40,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (36,2)-(40,3)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :each @@ -360,11 +406,14 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (36,7)-(40,3)) + │ │ ├── flags: ∅ │ │ ├── locals: [:foo] │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (36,9)-(36,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (36,10)-(36,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (36,10)-(36,13)) │ │ │ │ │ ├── flags: ∅ @@ -380,19 +429,23 @@ │ │ │ └── closing_loc: (36,13)-(36,14) = "|" │ │ ├── body: │ │ │ @ StatementsNode (location: (37,4)-(39,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ WhileNode (location: (37,4)-(39,7)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── keyword_loc: (37,4)-(37,9) = "while" │ │ │ ├── closing_loc: (39,4)-(39,7) = "end" │ │ │ ├── predicate: │ │ │ │ @ LocalVariableReadNode (location: (37,10)-(37,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :foo │ │ │ │ └── depth: 0 │ │ │ └── statements: │ │ │ @ StatementsNode (location: (38,6)-(38,15)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableWriteNode (location: (38,6)-(38,15)) + │ │ │ ├── flags: newline │ │ │ ├── name: :foo │ │ │ ├── depth: 0 │ │ │ ├── name_loc: (38,6)-(38,9) = "foo" @@ -413,16 +466,19 @@ │ ├── end_keyword_loc: (41,0)-(41,3) = "end" │ └── name: :A ├── @ LocalVariableWriteNode (location: (42,0)-(44,14)) + │ ├── flags: newline │ ├── name: :x │ ├── depth: 0 │ ├── name_loc: (42,0)-(42,1) = "x" │ ├── value: │ │ @ ParenthesesNode (location: (42,4)-(44,14)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (42,5)-(44,13)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ WhileNode (location: (42,5)-(44,13)) - │ │ │ ├── flags: begin_modifier + │ │ │ ├── flags: newline, begin_modifier │ │ │ ├── keyword_loc: (44,4)-(44,9) = "while" │ │ │ ├── closing_loc: ∅ │ │ │ ├── predicate: @@ -438,14 +494,17 @@ │ │ │ │ └── block: ∅ │ │ │ └── statements: │ │ │ @ StatementsNode (location: (42,5)-(44,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ BeginNode (location: (42,5)-(44,3)) + │ │ │ ├── flags: newline │ │ │ ├── begin_keyword_loc: (42,5)-(42,10) = "begin" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (43,2)-(43,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (43,2)-(43,5)) - │ │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :foo @@ -462,7 +521,7 @@ │ │ └── closing_loc: (44,13)-(44,14) = ")" │ └── operator_loc: (42,2)-(42,3) = "=" ├── @ WhileNode (location: (45,0)-(47,13)) - │ ├── flags: begin_modifier + │ ├── flags: newline, begin_modifier │ ├── keyword_loc: (47,4)-(47,9) = "while" │ ├── closing_loc: ∅ │ ├── predicate: @@ -478,14 +537,17 @@ │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (45,0)-(47,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ BeginNode (location: (45,0)-(47,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (45,0)-(45,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (46,2)-(46,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (46,2)-(46,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -499,7 +561,7 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (47,0)-(47,3) = "end" ├── @ UntilNode (location: (48,0)-(51,13)) - │ ├── flags: begin_modifier + │ ├── flags: newline, begin_modifier │ ├── keyword_loc: (51,4)-(51,9) = "until" │ ├── closing_loc: ∅ │ ├── predicate: @@ -515,14 +577,17 @@ │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (48,0)-(51,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ BeginNode (location: (48,0)-(51,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (48,0)-(48,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (49,2)-(50,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (49,2)-(49,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -532,7 +597,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (50,2)-(50,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -546,7 +611,7 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (51,0)-(51,3) = "end" ├── @ WhileNode (location: (52,0)-(55,13)) - │ ├── flags: begin_modifier + │ ├── flags: newline, begin_modifier │ ├── keyword_loc: (55,4)-(55,9) = "while" │ ├── closing_loc: ∅ │ ├── predicate: @@ -562,14 +627,17 @@ │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (52,0)-(55,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ BeginNode (location: (52,0)-(55,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (52,0)-(52,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (53,2)-(54,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (53,2)-(53,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -579,7 +647,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (54,2)-(54,5)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -593,35 +661,40 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (55,0)-(55,3) = "end" ├── @ WhileNode (location: (56,0)-(57,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (56,0)-(56,5) = "while" │ ├── closing_loc: (57,0)-(57,3) = "end" │ ├── predicate: │ │ @ FalseNode (location: (56,6)-(56,11)) + │ │ └── flags: static_literal │ └── statements: ∅ ├── @ WhileNode (location: (58,0)-(60,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (58,0)-(58,5) = "while" │ ├── closing_loc: (60,0)-(60,3) = "end" │ ├── predicate: │ │ @ FalseNode (location: (58,6)-(58,11)) + │ │ └── flags: static_literal │ └── statements: │ @ StatementsNode (location: (59,2)-(59,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (59,2)-(59,3)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 3 ├── @ WhileNode (location: (61,0)-(64,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (61,0)-(61,5) = "while" │ ├── closing_loc: (64,0)-(64,3) = "end" │ ├── predicate: │ │ @ ParenthesesNode (location: (61,6)-(62,2)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (61,7)-(62,1)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (61,7)-(62,1)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :foo @@ -631,6 +704,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (61,11)-(62,1)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -640,43 +714,49 @@ │ │ └── closing_loc: (62,1)-(62,2) = ")" │ └── statements: │ @ StatementsNode (location: (63,2)-(63,7)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ SymbolNode (location: (63,2)-(63,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (63,2)-(63,3) = ":" │ ├── value_loc: (63,3)-(63,7) = "body" │ ├── closing_loc: ∅ │ └── unescaped: "body" ├── @ UntilNode (location: (65,0)-(66,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (65,0)-(65,5) = "until" │ ├── closing_loc: (66,0)-(66,3) = "end" │ ├── predicate: │ │ @ FalseNode (location: (65,6)-(65,11)) + │ │ └── flags: static_literal │ └── statements: ∅ ├── @ UntilNode (location: (67,0)-(69,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (67,0)-(67,5) = "until" │ ├── closing_loc: (69,0)-(69,3) = "end" │ ├── predicate: │ │ @ FalseNode (location: (67,6)-(67,11)) + │ │ └── flags: static_literal │ └── statements: │ @ StatementsNode (location: (68,2)-(68,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (68,2)-(68,3)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 3 └── @ UntilNode (location: (70,0)-(73,3)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (70,0)-(70,5) = "until" ├── closing_loc: (73,0)-(73,3) = "end" ├── predicate: │ @ ParenthesesNode (location: (70,6)-(71,2)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (70,7)-(71,1)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (70,7)-(71,1)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -686,6 +766,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (70,11)-(71,1)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -695,9 +776,10 @@ │ └── closing_loc: (71,1)-(71,2) = ")" └── statements: @ StatementsNode (location: (72,2)-(72,7)) + ├── flags: ∅ └── body: (length: 1) └── @ SymbolNode (location: (72,2)-(72,7)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (72,2)-(72,3) = ":" ├── value_loc: (72,3)-(72,7) = "body" ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/semantic/and.txt b/test/prism/snapshots/unparser/corpus/semantic/and.txt index bc9d674e44..2a6fdcf2bc 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/and.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/and.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(8,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(8,3)) + ├── flags: ∅ └── body: (length: 4) ├── @ OrNode (location: (1,0)-(1,14)) + │ ├── flags: newline │ ├── left: │ │ @ RangeNode (location: (1,0)-(1,5)) │ │ ├── flags: exclude_end @@ -58,6 +61,7 @@ │ │ └── operator_loc: (1,10)-(1,13) = "..." │ └── operator_loc: (1,6)-(1,8) = "or" ├── @ AndNode (location: (2,0)-(2,15)) + │ ├── flags: newline │ ├── left: │ │ @ RangeNode (location: (2,0)-(2,5)) │ │ ├── flags: exclude_end @@ -112,9 +116,11 @@ │ │ └── operator_loc: (2,11)-(2,14) = "..." │ └── operator_loc: (2,6)-(2,9) = "and" ├── @ IfNode (location: (4,0)-(5,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (4,0)-(4,2) = "if" │ ├── predicate: │ │ @ OrNode (location: (4,3)-(4,17)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ FlipFlopNode (location: (4,3)-(4,8)) │ │ │ ├── flags: exclude_end @@ -173,9 +179,11 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (5,0)-(5,3) = "end" └── @ IfNode (location: (7,0)-(8,3)) + ├── flags: newline ├── if_keyword_loc: (7,0)-(7,2) = "if" ├── predicate: │ @ AndNode (location: (7,3)-(7,18)) + │ ├── flags: ∅ │ ├── left: │ │ @ FlipFlopNode (location: (7,3)-(7,8)) │ │ ├── flags: exclude_end diff --git a/test/prism/snapshots/unparser/corpus/semantic/block.txt b/test/prism/snapshots/unparser/corpus/semantic/block.txt index b9aa6b2184..c3b27b194e 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/block.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(26,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(26,3)) + ├── flags: ∅ └── body: (length: 6) ├── @ CallNode (location: (1,0)-(2,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,13 +16,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,4)-(2,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,4)-(1,6) = "do" │ └── closing_loc: (2,0)-(2,3) = "end" ├── @ CallNode (location: (4,0)-(6,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -30,14 +33,17 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (4,4)-(6,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ BeginNode (location: (4,4)-(6,3)) + │ │ ├── flags: ∅ │ │ ├── begin_keyword_loc: ∅ │ │ ├── statements: ∅ │ │ ├── rescue_clause: │ │ │ @ RescueNode (location: (5,0)-(5,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── keyword_loc: (5,0)-(5,6) = "rescue" │ │ │ ├── exceptions: (length: 0) │ │ │ ├── operator_loc: ∅ @@ -50,7 +56,7 @@ │ ├── opening_loc: (4,4)-(4,6) = "do" │ └── closing_loc: (6,0)-(6,3) = "end" ├── @ CallNode (location: (8,0)-(11,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -60,22 +66,28 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (8,4)-(11,3)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (9,2)-(10,5)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ RescueModifierNode (location: (9,2)-(9,16)) + │ │ │ ├── flags: newline │ │ │ ├── expression: │ │ │ │ @ NilNode (location: (9,2)-(9,5)) + │ │ │ │ └── flags: static_literal │ │ │ ├── keyword_loc: (9,6)-(9,12) = "rescue" │ │ │ └── rescue_expression: │ │ │ @ NilNode (location: (9,13)-(9,16)) + │ │ │ └── flags: static_literal │ │ └── @ NilNode (location: (10,2)-(10,5)) + │ │ └── flags: newline, static_literal │ ├── opening_loc: (8,4)-(8,6) = "do" │ └── closing_loc: (11,0)-(11,3) = "end" ├── @ CallNode (location: (13,0)-(14,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -85,11 +97,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (13,4)-(14,3)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (13,7)-(13,10)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (13,8)-(13,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (13,8)-(13,9)) │ │ │ │ ├── flags: ∅ @@ -107,7 +122,7 @@ │ ├── opening_loc: (13,4)-(13,6) = "do" │ └── closing_loc: (14,0)-(14,3) = "end" ├── @ CallNode (location: (16,0)-(20,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -126,11 +141,14 @@ │ ├── closing_loc: (16,10)-(16,11) = ")" │ └── block: │ @ BlockNode (location: (16,12)-(20,3)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (16,15)-(16,18)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (16,16)-(16,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (16,16)-(16,17)) │ │ │ │ ├── flags: ∅ @@ -146,14 +164,16 @@ │ │ └── closing_loc: (16,17)-(16,18) = "|" │ ├── body: │ │ @ StatementsNode (location: (19,2)-(19,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (19,2)-(19,3)) + │ │ ├── flags: newline │ │ ├── name: :a │ │ └── depth: 0 │ ├── opening_loc: (16,12)-(16,14) = "do" │ └── closing_loc: (20,0)-(20,3) = "end" └── @ CallNode (location: (22,0)-(26,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -172,13 +192,15 @@ ├── closing_loc: (22,10)-(22,11) = ")" └── block: @ BlockNode (location: (22,12)-(26,3)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (25,2)-(25,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (25,2)-(25,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a diff --git a/test/prism/snapshots/unparser/corpus/semantic/def.txt b/test/prism/snapshots/unparser/corpus/semantic/def.txt index b44983c2f3..f05ce02bca 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/def.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/def.txt @@ -1,22 +1,28 @@ @ ProgramNode (location: (1,0)-(7,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ DefNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (2,2)-(2,9)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ParenthesesNode (location: (2,2)-(2,9)) + │ │ ├── flags: newline │ │ ├── body: │ │ │ @ StatementsNode (location: (2,3)-(2,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,3)-(2,8)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── receiver: │ │ │ │ @ CallNode (location: (2,3)-(2,4)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -58,14 +64,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" └── @ DefNode (location: (5,0)-(7,3)) + ├── flags: newline ├── name: :foo ├── name_loc: (5,4)-(5,7) = "foo" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (6,2)-(6,20)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RescueModifierNode (location: (6,2)-(6,20)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (6,2)-(6,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -80,6 +89,7 @@ │ ├── keyword_loc: (6,4)-(6,10) = "rescue" │ └── rescue_expression: │ @ ConstantReadNode (location: (6,11)-(6,20)) + │ ├── flags: ∅ │ └── name: :Exception ├── locals: [] ├── def_keyword_loc: (5,0)-(5,3) = "def" diff --git a/test/prism/snapshots/unparser/corpus/semantic/dstr.txt b/test/prism/snapshots/unparser/corpus/semantic/dstr.txt index 499bf59d1a..e1b647c744 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/dstr.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/dstr.txt @@ -1,248 +1,262 @@ @ ProgramNode (location: (1,0)-(127,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(127,11)) + ├── flags: ∅ └── body: (length: 33) ├── @ StringNode (location: (1,0)-(1,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,5) = "<<DOC" │ ├── content_loc: (2,0)-(2,0) = "" │ ├── closing_loc: (2,0)-(3,0) = "DOC\n" │ └── unescaped: "" ├── @ StringNode (location: (4,0)-(4,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (4,0)-(4,7) = "<<'DOC'" │ ├── content_loc: (5,0)-(5,0) = "" │ ├── closing_loc: (5,0)-(6,0) = "DOC\n" │ └── unescaped: "" ├── @ StringNode (location: (7,0)-(7,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (7,0)-(7,6) = "<<~DOC" │ ├── content_loc: (8,0)-(8,0) = "" │ ├── closing_loc: (8,0)-(9,0) = "DOC\n" │ └── unescaped: "" ├── @ StringNode (location: (10,0)-(10,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (10,0)-(10,8) = "<<~'DOC'" │ ├── content_loc: (11,0)-(11,0) = "" │ ├── closing_loc: (11,0)-(12,0) = "DOC\n" │ └── unescaped: "" ├── @ StringNode (location: (13,0)-(13,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (13,0)-(13,5) = "<<DOC" │ ├── content_loc: (14,0)-(15,0) = " a\n" │ ├── closing_loc: (15,0)-(16,0) = "DOC\n" │ └── unescaped: " a\n" ├── @ StringNode (location: (17,0)-(17,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (17,0)-(17,7) = "<<'DOC'" │ ├── content_loc: (18,0)-(19,0) = " a\n" │ ├── closing_loc: (19,0)-(20,0) = "DOC\n" │ └── unescaped: " a\n" ├── @ InterpolatedStringNode (location: (21,0)-(21,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (21,0)-(21,5) = "<<DOC" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (22,0)-(23,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (22,0)-(23,2) = " a\n " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " a\n " │ │ ├── @ EmbeddedStatementsNode (location: (23,2)-(23,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (23,2)-(23,4) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (23,4)-(23,5) = "}" │ │ └── @ StringNode (location: (23,5)-(24,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (23,5)-(24,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── closing_loc: (24,0)-(25,0) = "DOC\n" ├── @ InterpolatedStringNode (location: (26,0)-(26,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (26,0)-(26,6) = "<<~DOC" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (27,0)-(28,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (27,0)-(28,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ ├── @ EmbeddedStatementsNode (location: (28,2)-(28,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (28,2)-(28,4) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (28,4)-(28,5) = "}" │ │ └── @ StringNode (location: (28,5)-(29,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (28,5)-(29,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── closing_loc: (29,0)-(30,0) = "DOC\n" ├── @ InterpolatedStringNode (location: (31,0)-(31,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (31,0)-(31,6) = "<<~DOC" │ ├── parts: (length: 4) │ │ ├── @ StringNode (location: (32,0)-(33,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (32,0)-(33,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ ├── @ EmbeddedStatementsNode (location: (33,2)-(33,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (33,2)-(33,4) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (33,4)-(33,5) = "}" │ │ ├── @ StringNode (location: (33,5)-(34,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (33,5)-(34,0) = "\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n" │ │ └── @ StringNode (location: (34,0)-(35,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (34,0)-(35,0) = " b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n" │ └── closing_loc: (35,0)-(36,0) = "DOC\n" ├── @ InterpolatedStringNode (location: (37,0)-(37,6)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: (37,0)-(37,6) = "<<~DOC" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (38,0)-(39,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (38,0)-(39,0) = " a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ └── @ StringNode (location: (39,0)-(40,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (39,0)-(40,0) = " b\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " b\n" │ └── closing_loc: (40,0)-(41,0) = "DOC\n" ├── @ StringNode (location: (42,0)-(42,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (42,0)-(42,7) = "<<'DOC'" │ ├── content_loc: (43,0)-(46,0) = "a\n\nb\n" │ ├── closing_loc: (46,0)-(47,0) = "DOC\n" │ └── unescaped: "a\n\nb\n" ├── @ StringNode (location: (48,0)-(48,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (48,0)-(48,7) = "<<'DOC'" │ ├── content_loc: (49,0)-(52,0) = " a\n\n b\n" │ ├── closing_loc: (52,0)-(53,0) = "DOC\n" │ └── unescaped: " a\n\n b\n" ├── @ StringNode (location: (54,0)-(54,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (54,0)-(54,7) = "<<'DOC'" │ ├── content_loc: (55,0)-(56,0) = " a\\nb\n" │ ├── closing_loc: (56,0)-(57,0) = "DOC\n" │ └── unescaped: " a\\nb\n" ├── @ InterpolatedStringNode (location: (58,0)-(58,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (58,0)-(58,5) = "<<DOC" │ ├── parts: (length: 4) │ │ ├── @ EmbeddedStatementsNode (location: (59,0)-(59,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (59,0)-(59,2) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (59,2)-(59,3) = "}" │ │ ├── @ StringNode (location: (59,3)-(60,1)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (59,3)-(60,1) = "a\n " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n " │ │ ├── @ EmbeddedStatementsNode (location: (60,1)-(60,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (60,1)-(60,3) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (60,3)-(60,4) = "}" │ │ └── @ StringNode (location: (60,4)-(61,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (60,4)-(61,0) = "a\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a\n" │ └── closing_loc: (61,0)-(62,0) = "DOC\n" ├── @ InterpolatedStringNode (location: (63,0)-(63,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (63,0)-(63,5) = "<<DOC" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (64,0)-(64,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (64,0)-(64,2) = " " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " " │ │ ├── @ EmbeddedStatementsNode (location: (64,2)-(64,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (64,2)-(64,4) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (64,4)-(64,5) = "}" │ │ └── @ StringNode (location: (64,5)-(66,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (64,5)-(66,0) = "\n \\\#{}\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n \#{}\n" │ └── closing_loc: (66,0)-(67,0) = "DOC\n" ├── @ InterpolatedStringNode (location: (68,0)-(68,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (68,0)-(68,5) = "<<DOC" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (69,0)-(69,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (69,0)-(69,2) = " a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " a" │ │ ├── @ EmbeddedStatementsNode (location: (69,2)-(69,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (69,2)-(69,4) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (69,4)-(69,5) = "}" │ │ └── @ StringNode (location: (69,5)-(71,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (69,5)-(71,0) = "b\n c\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "b\n c\n" │ └── closing_loc: (71,0)-(72,0) = "DOC\n" ├── @ InterpolatedStringNode (location: (73,0)-(73,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (73,0)-(73,6) = "<<~DOC" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (74,2)-(74,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (74,2)-(74,4) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (74,4)-(74,5) = "}" │ │ └── @ StringNode (location: (74,5)-(75,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (74,5)-(75,0) = "\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\n" │ └── closing_loc: (75,0)-(76,0) = "DOC\n" ├── @ IfNode (location: (77,0)-(81,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (77,0)-(77,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (77,3)-(77,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (78,2)-(78,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ InterpolatedStringNode (location: (78,2)-(78,8)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (78,2)-(78,8) = "<<~DOC" │ │ ├── parts: (length: 2) │ │ │ ├── @ EmbeddedStatementsNode (location: (79,4)-(79,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (79,4)-(79,6) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (79,6)-(79,7) = "}" │ │ │ └── @ StringNode (location: (79,7)-(80,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (79,7)-(80,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -251,29 +265,33 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (81,0)-(81,3) = "end" ├── @ IfNode (location: (83,0)-(87,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (83,0)-(83,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (83,3)-(83,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (84,2)-(84,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ InterpolatedStringNode (location: (84,2)-(84,8)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (84,2)-(84,8) = "<<~DOC" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (85,0)-(85,5)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (85,0)-(85,5) = " b" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "b" │ │ │ ├── @ EmbeddedStatementsNode (location: (85,5)-(85,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (85,5)-(85,7) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (85,7)-(85,8) = "}" │ │ │ └── @ StringNode (location: (85,8)-(86,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (85,8)-(86,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -282,23 +300,27 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (87,0)-(87,3) = "end" ├── @ IfNode (location: (89,0)-(93,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (89,0)-(89,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (89,3)-(89,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (90,2)-(90,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ InterpolatedStringNode (location: (90,2)-(90,8)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (90,2)-(90,8) = "<<~DOC" │ │ ├── parts: (length: 2) │ │ │ ├── @ EmbeddedStatementsNode (location: (91,4)-(91,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (91,4)-(91,6) = "\#{" │ │ │ │ ├── statements: ∅ │ │ │ │ └── closing_loc: (91,6)-(91,7) = "}" │ │ │ └── @ StringNode (location: (91,7)-(92,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (91,7)-(92,0) = "a\n" │ │ │ ├── closing_loc: ∅ @@ -307,15 +329,18 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (93,0)-(93,3) = "end" ├── @ IfNode (location: (95,0)-(101,3)) + │ ├── flags: newline │ ├── if_keyword_loc: (95,0)-(95,2) = "if" │ ├── predicate: │ │ @ TrueNode (location: (95,3)-(95,7)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (96,2)-(96,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ StringNode (location: (96,2)-(96,10)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (96,2)-(96,10) = "<<-'DOC'" │ │ ├── content_loc: (97,0)-(100,0) = " a\n\n b\n" │ │ ├── closing_loc: (100,0)-(101,0) = " DOC\n" @@ -323,131 +348,137 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (101,0)-(101,3) = "end" ├── @ InterpolatedStringNode (location: (103,0)-(103,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (103,0)-(103,1) = "\"" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (103,1)-(103,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (103,1)-(103,3) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (103,3)-(103,4) = "}" │ │ └── @ StringNode (location: (103,4)-(103,5)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (103,4)-(103,5) = "a" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "a" │ └── closing_loc: (103,5)-(103,6) = "\"" ├── @ InterpolatedStringNode (location: (105,0)-(105,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (105,0)-(105,2) = "%(" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (105,2)-(105,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (105,2)-(105,5) = "\\n\"" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "\n\"" │ │ ├── @ EmbeddedStatementsNode (location: (105,5)-(105,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (105,5)-(105,7) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (105,7)-(105,8) = "}" │ │ └── @ StringNode (location: (105,8)-(105,11)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (105,8)-(105,11) = "\"\\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\"\n" │ └── closing_loc: (105,11)-(105,12) = ")" ├── @ InterpolatedStringNode (location: (107,0)-(107,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (107,0)-(107,3) = "%Q(" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (107,3)-(107,7)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (107,3)-(107,7) = "-\\n\"" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "-\n\"" │ │ ├── @ EmbeddedStatementsNode (location: (107,7)-(107,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (107,7)-(107,9) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (107,9)-(107,10) = "}" │ │ └── @ StringNode (location: (107,10)-(107,13)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (107,10)-(107,13) = "\"\\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\"\n" │ └── closing_loc: (107,13)-(107,14) = ")" ├── @ InterpolatedStringNode (location: (109,0)-(111,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (109,0)-(109,1) = "\"" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (109,1)-(110,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (109,1)-(110,0) = "a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ ├── @ EmbeddedStatementsNode (location: (110,0)-(110,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (110,0)-(110,2) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (110,2)-(110,3) = "}" │ │ └── @ StringNode (location: (110,3)-(111,1)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (110,3)-(111,1) = "\nb" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\nb" │ └── closing_loc: (111,1)-(111,2) = "\"" ├── @ InterpolatedStringNode (location: (113,0)-(114,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (113,0)-(113,1) = "\"" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (113,1)-(113,4)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (113,1)-(113,4) = "a\\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ ├── @ EmbeddedStatementsNode (location: (113,4)-(113,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (113,4)-(113,6) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (113,6)-(113,7) = "}" │ │ └── @ StringNode (location: (113,7)-(114,1)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (113,7)-(114,1) = "\nb" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\nb" │ └── closing_loc: (114,1)-(114,2) = "\"" ├── @ InterpolatedStringNode (location: (116,0)-(117,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (116,0)-(116,1) = "\"" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (116,1)-(117,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (116,1)-(117,0) = "a\n" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a\n" │ │ ├── @ EmbeddedStatementsNode (location: (117,0)-(117,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (117,0)-(117,2) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (117,2)-(117,3) = "}" │ │ └── @ StringNode (location: (117,3)-(117,6)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (117,3)-(117,6) = "\\nb" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "\nb" │ └── closing_loc: (117,6)-(117,7) = "\"" ├── @ InterpolatedStringNode (location: (119,0)-(120,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (119,0)-(119,3)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (119,0)-(119,1) = "'" │ │ │ ├── content_loc: (119,1)-(119,2) = "a" │ │ │ ├── closing_loc: (119,2)-(119,3) = "'" @@ -457,36 +488,37 @@ │ │ ├── opening_loc: (120,0)-(120,1) = "\"" │ │ ├── parts: (length: 1) │ │ │ └── @ EmbeddedStatementsNode (location: (120,1)-(120,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (120,1)-(120,3) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (120,3)-(120,4) = "}" │ │ └── closing_loc: (120,4)-(120,5) = "\"" │ └── closing_loc: ∅ ├── @ InterpolatedStringNode (location: (122,0)-(122,8)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── opening_loc: ∅ │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (122,0)-(122,2)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (122,0)-(122,1) = "\"" │ │ │ ├── content_loc: (122,1)-(122,1) = "" │ │ │ ├── closing_loc: (122,1)-(122,2) = "\"" │ │ │ └── unescaped: "" │ │ ├── @ StringNode (location: (122,3)-(122,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (122,3)-(122,4) = "\"" │ │ │ ├── content_loc: (122,4)-(122,4) = "" │ │ │ ├── closing_loc: (122,4)-(122,5) = "\"" │ │ │ └── unescaped: "" │ │ └── @ StringNode (location: (122,6)-(122,8)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (122,6)-(122,7) = "\"" │ │ ├── content_loc: (122,7)-(122,7) = "" │ │ ├── closing_loc: (122,7)-(122,8) = "\"" │ │ └── unescaped: "" │ └── closing_loc: ∅ ├── @ InterpolatedStringNode (location: (124,0)-(124,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ InterpolatedStringNode (location: (124,0)-(124,8)) @@ -494,29 +526,32 @@ │ │ │ ├── opening_loc: (124,0)-(124,1) = "\"" │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ StringNode (location: (124,1)-(124,2)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (124,1)-(124,2) = "a" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "a" │ │ │ │ └── @ EmbeddedStatementsNode (location: (124,2)-(124,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (124,2)-(124,4) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (124,4)-(124,6)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ InstanceVariableReadNode (location: (124,4)-(124,6)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── name: :@a │ │ │ │ └── closing_loc: (124,6)-(124,7) = "}" │ │ │ └── closing_loc: (124,7)-(124,8) = "\"" │ │ └── @ StringNode (location: (124,9)-(124,12)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (124,9)-(124,10) = "\"" │ │ ├── content_loc: (124,10)-(124,11) = "b" │ │ ├── closing_loc: (124,11)-(124,12) = "\"" │ │ └── unescaped: "b" │ └── closing_loc: ∅ ├── @ InterpolatedStringNode (location: (125,0)-(125,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ InterpolatedStringNode (location: (125,0)-(125,6)) @@ -524,26 +559,28 @@ │ │ │ ├── opening_loc: (125,0)-(125,1) = "\"" │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ StringNode (location: (125,1)-(125,2)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (125,1)-(125,2) = "a" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "a" │ │ │ │ └── @ EmbeddedVariableNode (location: (125,2)-(125,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (125,2)-(125,3) = "#" │ │ │ │ └── variable: │ │ │ │ @ InstanceVariableReadNode (location: (125,3)-(125,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :@a │ │ │ └── closing_loc: (125,5)-(125,6) = "\"" │ │ └── @ StringNode (location: (125,7)-(125,10)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (125,7)-(125,8) = "\"" │ │ ├── content_loc: (125,8)-(125,9) = "b" │ │ ├── closing_loc: (125,9)-(125,10) = "\"" │ │ └── unescaped: "b" │ └── closing_loc: ∅ ├── @ InterpolatedStringNode (location: (126,0)-(126,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ InterpolatedStringNode (location: (126,0)-(126,6)) @@ -551,26 +588,28 @@ │ │ │ ├── opening_loc: (126,0)-(126,1) = "\"" │ │ │ ├── parts: (length: 2) │ │ │ │ ├── @ StringNode (location: (126,1)-(126,2)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── content_loc: (126,1)-(126,2) = "a" │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── unescaped: "a" │ │ │ │ └── @ EmbeddedVariableNode (location: (126,2)-(126,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (126,2)-(126,3) = "#" │ │ │ │ └── variable: │ │ │ │ @ GlobalVariableReadNode (location: (126,3)-(126,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :$a │ │ │ └── closing_loc: (126,5)-(126,6) = "\"" │ │ └── @ StringNode (location: (126,7)-(126,10)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (126,7)-(126,8) = "\"" │ │ ├── content_loc: (126,8)-(126,9) = "b" │ │ ├── closing_loc: (126,9)-(126,10) = "\"" │ │ └── unescaped: "b" │ └── closing_loc: ∅ └── @ InterpolatedStringNode (location: (127,0)-(127,11)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: ∅ ├── parts: (length: 2) │ ├── @ InterpolatedStringNode (location: (127,0)-(127,7)) @@ -578,19 +617,21 @@ │ │ ├── opening_loc: (127,0)-(127,1) = "\"" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (127,1)-(127,2)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (127,1)-(127,2) = "a" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "a" │ │ │ └── @ EmbeddedVariableNode (location: (127,2)-(127,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (127,2)-(127,3) = "#" │ │ │ └── variable: │ │ │ @ ClassVariableReadNode (location: (127,3)-(127,6)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@@a │ │ └── closing_loc: (127,6)-(127,7) = "\"" │ └── @ StringNode (location: (127,8)-(127,11)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: (127,8)-(127,9) = "\"" │ ├── content_loc: (127,9)-(127,10) = "b" │ ├── closing_loc: (127,10)-(127,11) = "\"" diff --git a/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt b/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt index 38486ddc12..93c2a9ace5 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/kwbegin.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(42,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(42,3)) + ├── flags: ∅ └── body: (length: 8) ├── @ BeginNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin" │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (2,0)-(2,6)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (2,0)-(2,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ @@ -18,10 +22,12 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" ├── @ BeginNode (location: (5,0)-(8,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (5,0)-(5,5) = "begin" │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (6,0)-(6,6)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (6,0)-(6,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ @@ -30,18 +36,21 @@ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (7,0)-(8,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (7,0)-(7,4) = "else" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (8,0)-(8,3) = "end" │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (8,0)-(8,3) = "end" ├── @ BeginNode (location: (10,0)-(12,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (10,0)-(10,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (11,2)-(11,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (11,2)-(11,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -55,12 +64,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (12,0)-(12,3) = "end" ├── @ BeginNode (location: (14,0)-(18,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (14,0)-(14,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (15,2)-(15,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (15,2)-(15,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -71,15 +82,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (16,0)-(17,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (16,0)-(16,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (17,2)-(17,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (17,2)-(17,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -93,12 +106,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (18,0)-(18,3) = "end" ├── @ BeginNode (location: (20,0)-(25,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (20,0)-(20,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (21,2)-(22,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (21,2)-(21,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -108,7 +123,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (22,2)-(22,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -119,15 +134,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (23,0)-(24,3)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (23,0)-(23,6) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (24,2)-(24,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (24,2)-(24,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -141,13 +158,16 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (25,0)-(25,3) = "end" ├── @ BeginNode (location: (27,0)-(30,3)) + │ ├── flags: newline │ ├── begin_keyword_loc: (27,0)-(27,5) = "begin" │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (28,0)-(28,8)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (28,0)-(28,6) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (28,7)-(28,8)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ @@ -155,19 +175,23 @@ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (29,0)-(30,3)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (29,0)-(29,4) = "else" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (30,0)-(30,3) = "end" │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (30,0)-(30,3) = "end" ├── @ BeginNode (location: (32,0)-(32,26)) + │ ├── flags: newline │ ├── begin_keyword_loc: (32,0)-(32,5) = "begin" │ ├── statements: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (32,7)-(32,15)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (32,7)-(32,13) = "rescue" │ │ ├── exceptions: (length: 1) │ │ │ └── @ ConstantReadNode (location: (32,14)-(32,15)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :A │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ @@ -175,18 +199,21 @@ │ │ └── consequent: ∅ │ ├── else_clause: │ │ @ ElseNode (location: (32,17)-(32,26)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (32,17)-(32,21) = "else" │ │ ├── statements: ∅ │ │ └── end_keyword_loc: (32,23)-(32,26) = "end" │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (32,23)-(32,26) = "end" └── @ BeginNode (location: (34,0)-(42,3)) + ├── flags: newline ├── begin_keyword_loc: (34,0)-(34,5) = "begin" ├── statements: │ @ StatementsNode (location: (35,2)-(35,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (35,2)-(35,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -197,17 +224,20 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (36,0)-(39,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (36,0)-(36,6) = "rescue" │ ├── exceptions: (length: 1) │ │ └── @ ConstantReadNode (location: (36,7)-(36,8)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (37,2)-(37,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (37,2)-(37,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :b @@ -218,17 +248,20 @@ │ │ └── block: ∅ │ └── consequent: │ @ RescueNode (location: (38,0)-(39,3)) + │ ├── flags: ∅ │ ├── keyword_loc: (38,0)-(38,6) = "rescue" │ ├── exceptions: (length: 1) │ │ └── @ ConstantReadNode (location: (38,7)-(38,8)) + │ │ ├── flags: ∅ │ │ └── name: :B │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (39,2)-(39,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (39,2)-(39,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :c @@ -241,12 +274,14 @@ ├── else_clause: ∅ ├── ensure_clause: │ @ EnsureNode (location: (40,0)-(42,3)) + │ ├── flags: ∅ │ ├── ensure_keyword_loc: (40,0)-(40,6) = "ensure" │ ├── statements: │ │ @ StatementsNode (location: (41,2)-(41,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (41,2)-(41,3)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :d diff --git a/test/prism/snapshots/unparser/corpus/semantic/literal.txt b/test/prism/snapshots/unparser/corpus/semantic/literal.txt index 448207f5d3..0d21b59d49 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/literal.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/literal.txt @@ -1,71 +1,81 @@ @ ProgramNode (location: (1,0)-(14,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(14,10)) + ├── flags: ∅ └── body: (length: 14) ├── @ RationalNode (location: (1,0)-(1,4)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: 1 │ └── denominator: 1 ├── @ RationalNode (location: (2,0)-(2,3)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: 0 │ └── denominator: 1 ├── @ IntegerNode (location: (3,0)-(3,3)) - │ ├── flags: hexadecimal + │ ├── flags: newline, static_literal, hexadecimal │ └── value: 1 ├── @ IntegerNode (location: (4,0)-(4,5)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1000 ├── @ FloatNode (location: (5,0)-(5,4)) + │ ├── flags: newline, static_literal │ └── value: 10000000000.0 ├── @ FloatNode (location: (6,0)-(6,14)) + │ ├── flags: newline, static_literal │ └── value: Infinity ├── @ FloatNode (location: (7,0)-(7,15)) + │ ├── flags: newline, static_literal │ └── value: -Infinity ├── @ StringNode (location: (8,0)-(8,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (8,0)-(8,1) = "?" │ ├── content_loc: (8,1)-(8,2) = "c" │ ├── closing_loc: ∅ │ └── unescaped: "c" ├── @ RegularExpressionNode (location: (9,0)-(9,5)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (9,0)-(9,3) = "%r(" │ ├── content_loc: (9,3)-(9,4) = "/" │ ├── closing_loc: (9,4)-(9,5) = ")" │ └── unescaped: "/" ├── @ RegularExpressionNode (location: (10,0)-(10,6)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (10,0)-(10,3) = "%r(" │ ├── content_loc: (10,3)-(10,5) = "\\)" │ ├── closing_loc: (10,5)-(10,6) = ")" │ └── unescaped: "\\)" ├── @ InterpolatedRegularExpressionNode (location: (11,0)-(11,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (11,0)-(11,3) = "%r(" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (11,3)-(11,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (11,3)-(11,5) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (11,5)-(11,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ InstanceVariableReadNode (location: (11,5)-(11,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :@bar │ │ │ └── closing_loc: (11,9)-(11,10) = "}" │ │ └── @ StringNode (location: (11,10)-(11,13)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (11,10)-(11,13) = "baz" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "baz" │ └── closing_loc: (11,13)-(11,14) = ")" ├── @ FloatNode (location: (12,0)-(12,16)) + │ ├── flags: newline, static_literal │ └── value: Infinity ├── @ FloatNode (location: (13,0)-(13,17)) + │ ├── flags: newline, static_literal │ └── value: -Infinity └── @ CallNode (location: (14,0)-(14,10)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :w diff --git a/test/prism/snapshots/unparser/corpus/semantic/opasgn.txt b/test/prism/snapshots/unparser/corpus/semantic/opasgn.txt index 7dd26a38dc..870942f97e 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/opasgn.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/opasgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,25)) + ├── flags: ∅ └── body: (length: 1) └── @ IndexOperatorWriteNode (location: (1,0)-(1,25)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -27,16 +29,18 @@ │ ├── opening_loc: (1,2)-(1,3) = "\"" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,5)-(1,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (1,5)-(1,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 42 │ │ │ └── closing_loc: (1,7)-(1,8) = "}" │ │ └── @ StringNode (location: (1,8)-(1,10)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,8)-(1,10) = "\\n" │ │ ├── closing_loc: ∅ @@ -52,16 +56,18 @@ ├── opening_loc: (1,16)-(1,17) = "\"" ├── parts: (length: 2) │ ├── @ EmbeddedStatementsNode (location: (1,17)-(1,22)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,17)-(1,19) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,19)-(1,21)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (1,19)-(1,21)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ └── closing_loc: (1,21)-(1,22) = "}" │ └── @ StringNode (location: (1,22)-(1,24)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,22)-(1,24) = "\\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/semantic/send.txt b/test/prism/snapshots/unparser/corpus/semantic/send.txt index 7c152c3bfb..f403d3d2b6 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/send.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/send.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(6,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(6,15)) + ├── flags: ∅ └── body: (length: 4) ├── @ CallNode (location: (1,0)-(1,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,7 +16,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (2,0)-(2,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -25,12 +27,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (2,4)-(2,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: (2,5)-(2,6) = ")" │ └── block: ∅ ├── @ CallNode (location: (4,0)-(4,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (4,0)-(4,10)) │ │ ├── flags: ∅ @@ -96,7 +98,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (6,0)-(6,15)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (6,0)-(6,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/unparser/corpus/semantic/undef.txt b/test/prism/snapshots/unparser/corpus/semantic/undef.txt index ecb073148d..4ac55f2cf3 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/undef.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/undef.txt @@ -1,27 +1,31 @@ @ ProgramNode (location: (1,0)-(2,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,14)) + ├── flags: ∅ └── body: (length: 2) ├── @ UndefNode (location: (1,0)-(1,9)) + │ ├── flags: newline │ ├── names: (length: 1) │ │ └── @ SymbolNode (location: (1,6)-(1,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,6)-(1,9) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── keyword_loc: (1,0)-(1,5) = "undef" └── @ UndefNode (location: (2,0)-(2,14)) + ├── flags: newline ├── names: (length: 2) │ ├── @ SymbolNode (location: (2,6)-(2,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (2,6)-(2,9) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── @ SymbolNode (location: (2,11)-(2,14)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (2,11)-(2,14) = "bar" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/unparser/corpus/semantic/while.txt b/test/prism/snapshots/unparser/corpus/semantic/while.txt index 36bfba5be6..cc814923b2 100644 --- a/test/prism/snapshots/unparser/corpus/semantic/while.txt +++ b/test/prism/snapshots/unparser/corpus/semantic/while.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(25,3)) +├── flags: ∅ ├── locals: [:foo, :a] └── statements: @ StatementsNode (location: (1,0)-(25,3)) + ├── flags: ∅ └── body: (length: 7) ├── @ UntilNode (location: (1,0)-(1,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (1,2)-(1,7) = "until" │ ├── closing_loc: ∅ │ ├── predicate: @@ -19,6 +21,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (1,11)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -26,9 +29,10 @@ │ │ └── closing_loc: (1,12)-(1,13) = "}" │ └── statements: │ @ StatementsNode (location: (1,0)-(1,1)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,0)-(1,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -38,7 +42,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ UntilNode (location: (3,0)-(5,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (3,0)-(3,5) = "until" │ ├── closing_loc: (5,0)-(5,3) = "end" │ ├── predicate: @@ -53,6 +57,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (3,9)-(3,11)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -60,9 +65,10 @@ │ │ └── closing_loc: (3,10)-(3,11) = "}" │ └── statements: │ @ StatementsNode (location: (4,2)-(4,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (4,2)-(4,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -72,17 +78,20 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ WhileNode (location: (7,0)-(7,19)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (7,10)-(7,15) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ LocalVariableReadNode (location: (7,16)-(7,19)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ └── statements: │ @ StatementsNode (location: (7,0)-(7,9)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableWriteNode (location: (7,0)-(7,9)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (7,0)-(7,3) = "foo" @@ -99,11 +108,12 @@ │ │ └── block: ∅ │ └── operator_loc: (7,4)-(7,5) = "=" ├── @ UntilNode (location: (9,0)-(9,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (9,2)-(9,7) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ AndNode (location: (9,8)-(9,18)) + │ │ ├── flags: ∅ │ │ ├── left: │ │ │ @ CallNode (location: (9,8)-(9,9)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -127,6 +137,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (9,15)-(9,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -135,9 +146,10 @@ │ │ └── operator_loc: (9,10)-(9,12) = "&&" │ └── statements: │ @ StatementsNode (location: (9,0)-(9,1)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (9,0)-(9,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -147,11 +159,12 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ WhileNode (location: (11,0)-(13,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (11,0)-(11,5) = "while" │ ├── closing_loc: (13,0)-(13,3) = "end" │ ├── predicate: │ │ @ LocalVariableWriteNode (location: (11,6)-(11,11)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ ├── depth: 0 │ │ ├── name_loc: (11,6)-(11,7) = "a" @@ -169,12 +182,14 @@ │ │ └── operator_loc: (11,8)-(11,9) = "=" │ └── statements: │ @ StatementsNode (location: (12,2)-(12,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (12,2)-(12,3)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── @ UntilNode (location: (15,0)-(18,3)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (15,2)-(15,7) = "until" │ ├── closing_loc: ∅ │ ├── predicate: @@ -198,13 +213,15 @@ │ │ ├── closing_loc: (15,16)-(15,17) = ")" │ │ └── block: │ │ @ BlockNode (location: (15,18)-(18,3)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (17,2)-(17,3)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (17,2)-(17,3)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -217,20 +234,26 @@ │ │ └── closing_loc: (18,0)-(18,3) = "end" │ └── statements: │ @ StatementsNode (location: (15,0)-(15,1)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (15,0)-(15,1)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 └── @ ModuleNode (location: (20,0)-(25,3)) + ├── flags: newline ├── locals: [:foo] ├── module_keyword_loc: (20,0)-(20,6) = "module" ├── constant_path: │ @ ConstantReadNode (location: (20,7)-(20,8)) + │ ├── flags: ∅ │ └── name: :A ├── body: │ @ StatementsNode (location: (21,2)-(24,5)) + │ ├── flags: ∅ │ └── body: (length: 2) │ ├── @ LocalVariableWriteNode (location: (21,2)-(21,11)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── depth: 0 │ │ ├── name_loc: (21,2)-(21,5) = "foo" @@ -247,17 +270,20 @@ │ │ │ └── block: ∅ │ │ └── operator_loc: (21,6)-(21,7) = "=" │ └── @ WhileNode (location: (22,2)-(24,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (22,2)-(22,7) = "while" │ ├── closing_loc: (24,2)-(24,5) = "end" │ ├── predicate: │ │ @ LocalVariableReadNode (location: (22,8)-(22,11)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ └── statements: │ @ StatementsNode (location: (23,4)-(23,13)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableWriteNode (location: (23,4)-(23,13)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (23,4)-(23,7) = "foo" diff --git a/test/prism/snapshots/until.txt b/test/prism/snapshots/until.txt index e855dc89f7..0e78545606 100644 --- a/test/prism/snapshots/until.txt +++ b/test/prism/snapshots/until.txt @@ -1,34 +1,40 @@ @ ProgramNode (location: (1,0)-(13,20)) +├── flags: ∅ ├── locals: [:baz] └── statements: @ StatementsNode (location: (1,0)-(13,20)) + ├── flags: ∅ └── body: (length: 7) ├── @ UntilNode (location: (1,0)-(1,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,5) = "until" │ ├── closing_loc: (1,15)-(1,18) = "end" │ ├── predicate: │ │ @ TrueNode (location: (1,6)-(1,10)) + │ │ └── flags: static_literal │ └── statements: │ @ StatementsNode (location: (1,12)-(1,13)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── @ UntilNode (location: (3,0)-(3,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (3,2)-(3,7) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (3,8)-(3,12)) + │ │ └── flags: static_literal │ └── statements: │ @ StatementsNode (location: (3,0)-(3,1)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (3,0)-(3,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── @ CallNode (location: (5,0)-(5,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -38,27 +44,32 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,4)-(5,24)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,6)-(5,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ UntilNode (location: (5,6)-(5,22)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (5,12)-(5,17) = "until" │ │ ├── closing_loc: ∅ │ │ ├── predicate: │ │ │ @ TrueNode (location: (5,18)-(5,22)) + │ │ │ └── flags: static_literal │ │ └── statements: │ │ @ StatementsNode (location: (5,6)-(5,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (5,6)-(5,11)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (5,6)-(5,11) = "break" │ ├── opening_loc: (5,4)-(5,5) = "{" │ └── closing_loc: (5,23)-(5,24) = "}" ├── @ CallNode (location: (7,0)-(7,23)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -68,40 +79,47 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (7,4)-(7,23)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,6)-(7,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ UntilNode (location: (7,6)-(7,21)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (7,11)-(7,16) = "until" │ │ ├── closing_loc: ∅ │ │ ├── predicate: │ │ │ @ TrueNode (location: (7,17)-(7,21)) + │ │ │ └── flags: static_literal │ │ └── statements: │ │ @ StatementsNode (location: (7,6)-(7,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (7,6)-(7,10)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (7,6)-(7,10) = "next" │ ├── opening_loc: (7,4)-(7,5) = "{" │ └── closing_loc: (7,22)-(7,23) = "}" ├── @ UntilNode (location: (9,0)-(9,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (9,7)-(9,12) = "until" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (9,13)-(9,17)) + │ │ └── flags: static_literal │ └── statements: │ @ StatementsNode (location: (9,0)-(9,6)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ ReturnNode (location: (9,0)-(9,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (9,0)-(9,6) = "return" │ └── arguments: ∅ ├── @ UntilNode (location: (11,0)-(11,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (11,11)-(11,16) = "until" │ ├── closing_loc: ∅ │ ├── predicate: @@ -117,9 +135,10 @@ │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (11,0)-(11,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (11,0)-(11,10)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -130,13 +149,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (11,4)-(11,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (11,4)-(11,5) = ":" │ │ │ ├── value_loc: (11,5)-(11,6) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (11,8)-(11,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (11,8)-(11,9) = ":" │ │ ├── value_loc: (11,9)-(11,10) = "b" │ │ ├── closing_loc: ∅ @@ -144,11 +163,12 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ WhileNode (location: (13,0)-(13,20)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (13,4)-(13,9) = "while" ├── closing_loc: ∅ ├── predicate: │ @ MatchPredicateNode (location: (13,10)-(13,20)) + │ ├── flags: ∅ │ ├── value: │ │ @ CallNode (location: (13,10)-(13,13)) │ │ ├── flags: variable_call, ignore_visibility @@ -162,14 +182,16 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (13,17)-(13,20)) + │ │ ├── flags: ∅ │ │ ├── name: :baz │ │ └── depth: 0 │ └── operator_loc: (13,14)-(13,16) = "in" └── statements: @ StatementsNode (location: (13,0)-(13,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (13,0)-(13,3)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo diff --git a/test/prism/snapshots/variables.txt b/test/prism/snapshots/variables.txt index b79612f924..3cb0ada657 100644 --- a/test/prism/snapshots/variables.txt +++ b/test/prism/snapshots/variables.txt @@ -1,23 +1,30 @@ @ ProgramNode (location: (1,0)-(47,17)) +├── flags: ∅ ├── locals: [:abc, :foo, :bar, :baz, :a, :b, :c, :d] └── statements: @ StatementsNode (location: (1,0)-(47,17)) + ├── flags: ∅ └── body: (length: 25) ├── @ ClassVariableReadNode (location: (1,0)-(1,5)) + │ ├── flags: newline │ └── name: :@@abc ├── @ ClassVariableWriteNode (location: (3,0)-(3,9)) + │ ├── flags: newline │ ├── name: :@@abc │ ├── name_loc: (3,0)-(3,5) = "@@abc" │ ├── value: │ │ @ IntegerNode (location: (3,8)-(3,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (3,6)-(3,7) = "=" ├── @ MultiWriteNode (location: (5,0)-(5,16)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ ClassVariableTargetNode (location: (5,0)-(5,5)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@@foo │ │ └── @ ClassVariableTargetNode (location: (5,7)-(5,12)) + │ │ ├── flags: ∅ │ │ └── name: :@@bar │ ├── rest: ∅ │ ├── rights: (length: 0) @@ -26,46 +33,51 @@ │ ├── operator_loc: (5,13)-(5,14) = "=" │ └── value: │ @ IntegerNode (location: (5,15)-(5,16)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ ClassVariableWriteNode (location: (7,0)-(7,12)) + │ ├── flags: newline │ ├── name: :@@foo │ ├── name_loc: (7,0)-(7,5) = "@@foo" │ ├── value: │ │ @ ArrayNode (location: (7,8)-(7,12)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (7,8)-(7,9)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (7,11)-(7,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (7,6)-(7,7) = "=" ├── @ GlobalVariableWriteNode (location: (9,0)-(9,8)) + │ ├── flags: newline │ ├── name: :$abc │ ├── name_loc: (9,0)-(9,4) = "$abc" │ ├── value: │ │ @ IntegerNode (location: (9,7)-(9,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (9,5)-(9,6) = "=" ├── @ GlobalVariableReadNode (location: (11,0)-(11,4)) + │ ├── flags: newline │ └── name: :$abc ├── @ InstanceVariableReadNode (location: (13,0)-(13,4)) + │ ├── flags: newline │ └── name: :@abc ├── @ InstanceVariableWriteNode (location: (15,0)-(15,8)) + │ ├── flags: newline │ ├── name: :@abc │ ├── name_loc: (15,0)-(15,4) = "@abc" │ ├── value: │ │ @ IntegerNode (location: (15,7)-(15,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (15,5)-(15,6) = "=" ├── @ CallNode (location: (17,0)-(17,1)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -75,19 +87,23 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ LocalVariableWriteNode (location: (19,0)-(19,7)) + │ ├── flags: newline │ ├── name: :abc │ ├── depth: 0 │ ├── name_loc: (19,0)-(19,3) = "abc" │ ├── value: │ │ @ IntegerNode (location: (19,6)-(19,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (19,4)-(19,5) = "=" ├── @ MultiWriteNode (location: (21,0)-(21,14)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ GlobalVariableTargetNode (location: (21,0)-(21,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :$foo │ │ └── @ GlobalVariableTargetNode (location: (21,6)-(21,10)) + │ │ ├── flags: ∅ │ │ └── name: :$bar │ ├── rest: ∅ │ ├── rights: (length: 0) @@ -96,29 +112,33 @@ │ ├── operator_loc: (21,11)-(21,12) = "=" │ └── value: │ @ IntegerNode (location: (21,13)-(21,14)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ GlobalVariableWriteNode (location: (23,0)-(23,11)) + │ ├── flags: newline │ ├── name: :$foo │ ├── name_loc: (23,0)-(23,4) = "$foo" │ ├── value: │ │ @ ArrayNode (location: (23,7)-(23,11)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (23,7)-(23,8)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (23,10)-(23,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (23,5)-(23,6) = "=" ├── @ MultiWriteNode (location: (25,0)-(25,14)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ InstanceVariableTargetNode (location: (25,0)-(25,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@foo │ │ └── @ InstanceVariableTargetNode (location: (25,6)-(25,10)) + │ │ ├── flags: ∅ │ │ └── name: :@bar │ ├── rest: ∅ │ ├── rights: (length: 0) @@ -127,74 +147,81 @@ │ ├── operator_loc: (25,11)-(25,12) = "=" │ └── value: │ @ IntegerNode (location: (25,13)-(25,14)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ InstanceVariableWriteNode (location: (27,0)-(27,11)) + │ ├── flags: newline │ ├── name: :@foo │ ├── name_loc: (27,0)-(27,4) = "@foo" │ ├── value: │ │ @ ArrayNode (location: (27,7)-(27,11)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (27,7)-(27,8)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (27,10)-(27,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (27,5)-(27,6) = "=" ├── @ LocalVariableWriteNode (location: (29,0)-(29,7)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (29,0)-(29,3) = "foo" │ ├── value: │ │ @ IntegerNode (location: (29,6)-(29,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (29,4)-(29,5) = "=" ├── @ LocalVariableWriteNode (location: (29,9)-(29,19)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (29,9)-(29,12) = "foo" │ ├── value: │ │ @ ArrayNode (location: (29,15)-(29,19)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (29,15)-(29,16)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (29,18)-(29,19)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (29,13)-(29,14) = "=" ├── @ LocalVariableWriteNode (location: (31,0)-(31,10)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (31,0)-(31,3) = "foo" │ ├── value: │ │ @ ArrayNode (location: (31,6)-(31,10)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (31,6)-(31,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (31,9)-(31,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (31,4)-(31,5) = "=" ├── @ MultiWriteNode (location: (33,0)-(33,13)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (33,0)-(33,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── rest: │ │ @ SplatNode (location: (33,5)-(33,6)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (33,5)-(33,6) = "*" │ │ └── expression: ∅ │ ├── rights: (length: 0) @@ -203,49 +230,56 @@ │ ├── operator_loc: (33,7)-(33,8) = "=" │ └── value: │ @ ArrayNode (location: (33,9)-(33,13)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (33,9)-(33,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (33,12)-(33,13)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (35,0)-(35,11)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (35,0)-(35,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── rest: │ │ @ ImplicitRestNode (location: (35,3)-(35,4)) + │ │ └── flags: ∅ │ ├── rights: (length: 0) │ ├── lparen_loc: ∅ │ ├── rparen_loc: ∅ │ ├── operator_loc: (35,5)-(35,6) = "=" │ └── value: │ @ ArrayNode (location: (35,7)-(35,11)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (35,7)-(35,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (35,10)-(35,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (37,0)-(37,16)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (37,0)-(37,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── rest: │ │ @ SplatNode (location: (37,5)-(37,9)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (37,5)-(37,6) = "*" │ │ └── expression: │ │ @ LocalVariableTargetNode (location: (37,6)-(37,9)) + │ │ ├── flags: ∅ │ │ ├── name: :bar │ │ └── depth: 0 │ ├── rights: (length: 0) @@ -254,27 +288,32 @@ │ ├── operator_loc: (37,10)-(37,11) = "=" │ └── value: │ @ ArrayNode (location: (37,12)-(37,16)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (37,12)-(37,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (37,15)-(37,16)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (39,0)-(39,27)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (39,0)-(39,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ └── @ MultiTargetNode (location: (39,5)-(39,15)) + │ │ ├── flags: ∅ │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (39,6)-(39,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :bar │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (39,11)-(39,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :baz │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -291,22 +330,23 @@ │ ├── flags: ∅ │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (39,18)-(39,19)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ ArrayNode (location: (39,21)-(39,27)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (39,22)-(39,23)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ └── @ IntegerNode (location: (39,25)-(39,26)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 3 │ │ ├── opening_loc: (39,21)-(39,22) = "[" │ │ └── closing_loc: (39,26)-(39,27) = "]" │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── @ LocalVariableWriteNode (location: (41,0)-(41,10)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (41,0)-(41,3) = "foo" @@ -315,36 +355,41 @@ │ │ ├── flags: contains_splat │ │ ├── elements: (length: 1) │ │ │ └── @ SplatNode (location: (41,6)-(41,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (41,6)-(41,7) = "*" │ │ │ └── expression: │ │ │ @ LocalVariableReadNode (location: (41,7)-(41,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :bar │ │ │ └── depth: 0 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (41,4)-(41,5) = "=" ├── @ ConstantWriteNode (location: (43,0)-(43,10)) + │ ├── flags: newline │ ├── name: :Foo │ ├── name_loc: (43,0)-(43,3) = "Foo" │ ├── value: │ │ @ ArrayNode (location: (43,6)-(43,10)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (43,6)-(43,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (43,9)-(43,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (43,4)-(43,5) = "=" ├── @ ParenthesesNode (location: (45,0)-(45,9)) + │ ├── flags: newline │ ├── body: │ │ @ StatementsNode (location: (45,1)-(45,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 3) │ │ ├── @ CallNode (location: (45,1)-(45,2)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :a @@ -354,7 +399,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ ├── @ CallNode (location: (45,4)-(45,5)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :b @@ -364,7 +409,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ CallNode (location: (45,7)-(45,8)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :c @@ -376,16 +421,21 @@ │ ├── opening_loc: (45,0)-(45,1) = "(" │ └── closing_loc: (45,8)-(45,9) = ")" └── @ MultiWriteNode (location: (47,0)-(47,17)) + ├── flags: newline ├── lefts: (length: 3) │ ├── @ LocalVariableTargetNode (location: (47,0)-(47,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── @ MultiTargetNode (location: (47,3)-(47,9)) + │ │ ├── flags: ∅ │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (47,4)-(47,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :b │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (47,7)-(47,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :c │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -393,6 +443,7 @@ │ │ ├── lparen_loc: (47,3)-(47,4) = "(" │ │ └── rparen_loc: (47,8)-(47,9) = ")" │ └── @ LocalVariableTargetNode (location: (47,11)-(47,12)) + │ ├── flags: ∅ │ ├── name: :d │ └── depth: 0 ├── rest: ∅ @@ -402,7 +453,7 @@ ├── operator_loc: (47,13)-(47,14) = "=" └── value: @ ArrayNode (location: (47,15)-(47,17)) - ├── flags: ∅ + ├── flags: static_literal ├── elements: (length: 0) ├── opening_loc: (47,15)-(47,16) = "[" └── closing_loc: (47,16)-(47,17) = "]" diff --git a/test/prism/snapshots/while.txt b/test/prism/snapshots/while.txt index a2972face0..c0022eb50c 100644 --- a/test/prism/snapshots/while.txt +++ b/test/prism/snapshots/while.txt @@ -1,34 +1,40 @@ @ ProgramNode (location: (1,0)-(23,20)) +├── flags: ∅ ├── locals: [:baz] └── statements: @ StatementsNode (location: (1,0)-(23,20)) + ├── flags: ∅ └── body: (length: 12) ├── @ WhileNode (location: (1,0)-(1,18)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,5) = "while" │ ├── closing_loc: (1,15)-(1,18) = "end" │ ├── predicate: │ │ @ TrueNode (location: (1,6)-(1,10)) + │ │ └── flags: static_literal │ └── statements: │ @ StatementsNode (location: (1,12)-(1,13)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── @ WhileNode (location: (3,0)-(3,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (3,2)-(3,7) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (3,8)-(3,12)) + │ │ └── flags: static_literal │ └── statements: │ @ StatementsNode (location: (3,0)-(3,1)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (3,0)-(3,1)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── @ CallNode (location: (5,0)-(5,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -38,27 +44,32 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,4)-(5,24)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,6)-(5,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (5,6)-(5,22)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (5,12)-(5,17) = "while" │ │ ├── closing_loc: ∅ │ │ ├── predicate: │ │ │ @ TrueNode (location: (5,18)-(5,22)) + │ │ │ └── flags: static_literal │ │ └── statements: │ │ @ StatementsNode (location: (5,6)-(5,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (5,6)-(5,11)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (5,6)-(5,11) = "break" │ ├── opening_loc: (5,4)-(5,5) = "{" │ └── closing_loc: (5,23)-(5,24) = "}" ├── @ CallNode (location: (7,0)-(7,23)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -68,40 +79,47 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (7,4)-(7,23)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,6)-(7,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (7,6)-(7,21)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (7,11)-(7,16) = "while" │ │ ├── closing_loc: ∅ │ │ ├── predicate: │ │ │ @ TrueNode (location: (7,17)-(7,21)) + │ │ │ └── flags: static_literal │ │ └── statements: │ │ @ StatementsNode (location: (7,6)-(7,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NextNode (location: (7,6)-(7,10)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (7,6)-(7,10) = "next" │ ├── opening_loc: (7,4)-(7,5) = "{" │ └── closing_loc: (7,22)-(7,23) = "}" ├── @ WhileNode (location: (9,0)-(9,17)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (9,7)-(9,12) = "while" │ ├── closing_loc: ∅ │ ├── predicate: │ │ @ TrueNode (location: (9,13)-(9,17)) + │ │ └── flags: static_literal │ └── statements: │ @ StatementsNode (location: (9,0)-(9,6)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ ReturnNode (location: (9,0)-(9,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (9,0)-(9,6) = "return" │ └── arguments: ∅ ├── @ WhileNode (location: (11,0)-(11,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (11,11)-(11,16) = "while" │ ├── closing_loc: ∅ │ ├── predicate: @@ -117,9 +135,10 @@ │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (11,0)-(11,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (11,0)-(11,10)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -130,13 +149,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (11,4)-(11,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (11,4)-(11,5) = ":" │ │ │ ├── value_loc: (11,5)-(11,6) = "a" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ SymbolNode (location: (11,8)-(11,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (11,8)-(11,9) = ":" │ │ ├── value_loc: (11,9)-(11,10) = "b" │ │ ├── closing_loc: ∅ @@ -144,7 +163,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (13,0)-(13,58)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -154,23 +173,28 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (13,4)-(13,58)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (13,6)-(13,56)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (13,6)-(13,56)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (13,6)-(13,11) = "while" │ │ ├── closing_loc: (13,53)-(13,56) = "end" │ │ ├── predicate: │ │ │ @ DefNode (location: (13,12)-(13,44)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ ├── name_loc: (13,21)-(13,24) = "foo" │ │ │ ├── receiver: │ │ │ │ @ SelfNode (location: (13,16)-(13,20)) + │ │ │ │ └── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (13,25)-(13,39)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 0) │ │ │ │ ├── optionals: (length: 1) │ │ │ │ │ └── @ OptionalParameterNode (location: (13,25)-(13,39)) @@ -190,6 +214,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (13,33)-(13,39)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: ∅ @@ -210,14 +235,16 @@ │ │ │ └── end_keyword_loc: (13,41)-(13,44) = "end" │ │ └── statements: │ │ @ StatementsNode (location: (13,46)-(13,51)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (13,46)-(13,51)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (13,46)-(13,51) = "break" │ ├── opening_loc: (13,4)-(13,5) = "{" │ └── closing_loc: (13,57)-(13,58) = "}" ├── @ CallNode (location: (15,0)-(15,55)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -227,28 +254,34 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (15,4)-(15,55)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (15,6)-(15,53)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (15,6)-(15,53)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (15,6)-(15,11) = "while" │ │ ├── closing_loc: (15,50)-(15,53) = "end" │ │ ├── predicate: │ │ │ @ ClassNode (location: (15,12)-(15,41)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [:a] │ │ │ ├── class_keyword_loc: (15,12)-(15,17) = "class" │ │ │ ├── constant_path: │ │ │ │ @ ConstantReadNode (location: (15,18)-(15,21)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :Foo │ │ │ ├── inheritance_operator_loc: ∅ │ │ │ ├── superclass: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (15,22)-(15,36)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableWriteNode (location: (15,22)-(15,36)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :a │ │ │ │ ├── depth: 0 │ │ │ │ ├── name_loc: (15,22)-(15,23) = "a" @@ -264,6 +297,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (15,30)-(15,36)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: ∅ @@ -274,14 +308,16 @@ │ │ │ └── name: :Foo │ │ └── statements: │ │ @ StatementsNode (location: (15,43)-(15,48)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (15,43)-(15,48)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (15,43)-(15,48) = "break" │ ├── opening_loc: (15,4)-(15,5) = "{" │ └── closing_loc: (15,54)-(15,55) = "}" ├── @ CallNode (location: (17,0)-(17,56)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -291,27 +327,32 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (17,4)-(17,56)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (17,6)-(17,54)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (17,6)-(17,54)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (17,6)-(17,11) = "while" │ │ ├── closing_loc: (17,51)-(17,54) = "end" │ │ ├── predicate: │ │ │ @ SingletonClassNode (location: (17,12)-(17,42)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── class_keyword_loc: (17,12)-(17,17) = "class" │ │ │ ├── operator_loc: (17,18)-(17,20) = "<<" │ │ │ ├── expression: │ │ │ │ @ SelfNode (location: (17,21)-(17,25)) + │ │ │ │ └── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (17,27)-(17,37)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (17,27)-(17,37)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :tap @@ -321,6 +362,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (17,31)-(17,37)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: ∅ @@ -329,14 +371,16 @@ │ │ │ └── end_keyword_loc: (17,39)-(17,42) = "end" │ │ └── statements: │ │ @ StatementsNode (location: (17,44)-(17,49)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (17,44)-(17,49)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (17,44)-(17,49) = "break" │ ├── opening_loc: (17,4)-(17,5) = "{" │ └── closing_loc: (17,55)-(17,56) = "}" ├── @ CallNode (location: (19,0)-(19,60)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :tap @@ -346,26 +390,32 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (19,4)-(19,60)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (19,6)-(19,58)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ WhileNode (location: (19,6)-(19,58)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── keyword_loc: (19,6)-(19,11) = "while" │ │ ├── closing_loc: (19,55)-(19,58) = "end" │ │ ├── predicate: │ │ │ @ SingletonClassNode (location: (19,12)-(19,46)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [:a] │ │ │ ├── class_keyword_loc: (19,12)-(19,17) = "class" │ │ │ ├── operator_loc: (19,18)-(19,20) = "<<" │ │ │ ├── expression: │ │ │ │ @ SelfNode (location: (19,21)-(19,25)) + │ │ │ │ └── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (19,27)-(19,41)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableWriteNode (location: (19,27)-(19,41)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :a │ │ │ │ ├── depth: 0 │ │ │ │ ├── name_loc: (19,27)-(19,28) = "a" @@ -381,6 +431,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (19,35)-(19,41)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: ∅ @@ -390,27 +441,31 @@ │ │ │ └── end_keyword_loc: (19,43)-(19,46) = "end" │ │ └── statements: │ │ @ StatementsNode (location: (19,48)-(19,53)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ BreakNode (location: (19,48)-(19,53)) + │ │ ├── flags: newline │ │ ├── arguments: ∅ │ │ └── keyword_loc: (19,48)-(19,53) = "break" │ ├── opening_loc: (19,4)-(19,5) = "{" │ └── closing_loc: (19,59)-(19,60) = "}" ├── @ WhileNode (location: (21,0)-(21,31)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (21,0)-(21,5) = "while" │ ├── closing_loc: (21,28)-(21,31) = "end" │ ├── predicate: │ │ @ DefNode (location: (21,6)-(21,26)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ ├── name_loc: (21,10)-(21,13) = "foo" │ │ ├── receiver: ∅ │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (21,16)-(21,26)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (21,16)-(21,26)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -420,6 +475,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (21,20)-(21,26)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -434,11 +490,12 @@ │ │ └── end_keyword_loc: ∅ │ └── statements: ∅ └── @ WhileNode (location: (23,0)-(23,20)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (23,4)-(23,9) = "while" ├── closing_loc: ∅ ├── predicate: │ @ MatchPredicateNode (location: (23,10)-(23,20)) + │ ├── flags: ∅ │ ├── value: │ │ @ CallNode (location: (23,10)-(23,13)) │ │ ├── flags: variable_call, ignore_visibility @@ -452,14 +509,16 @@ │ │ └── block: ∅ │ ├── pattern: │ │ @ LocalVariableTargetNode (location: (23,17)-(23,20)) + │ │ ├── flags: ∅ │ │ ├── name: :baz │ │ └── depth: 0 │ └── operator_loc: (23,14)-(23,16) = "in" └── statements: @ StatementsNode (location: (23,0)-(23,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (23,0)-(23,3)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo diff --git a/test/prism/snapshots/whitequark/__ENCODING__.txt b/test/prism/snapshots/whitequark/__ENCODING__.txt index 1b223bd8fe..f04dfb6cb8 100644 --- a/test/prism/snapshots/whitequark/__ENCODING__.txt +++ b/test/prism/snapshots/whitequark/__ENCODING__.txt @@ -1,6 +1,9 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ SourceEncodingNode (location: (1,0)-(1,12)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/whitequark/__ENCODING___legacy_.txt b/test/prism/snapshots/whitequark/__ENCODING___legacy_.txt index 1b223bd8fe..f04dfb6cb8 100644 --- a/test/prism/snapshots/whitequark/__ENCODING___legacy_.txt +++ b/test/prism/snapshots/whitequark/__ENCODING___legacy_.txt @@ -1,6 +1,9 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ SourceEncodingNode (location: (1,0)-(1,12)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/whitequark/alias.txt b/test/prism/snapshots/whitequark/alias.txt index 509ea2b633..d64a22b946 100644 --- a/test/prism/snapshots/whitequark/alias.txt +++ b/test/prism/snapshots/whitequark/alias.txt @@ -1,19 +1,22 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ AliasMethodNode (location: (1,0)-(1,14)) + ├── flags: newline ├── new_name: │ @ SymbolNode (location: (1,6)-(1,10)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,6)-(1,7) = ":" │ ├── value_loc: (1,7)-(1,10) = "foo" │ ├── closing_loc: ∅ │ └── unescaped: "foo" ├── old_name: │ @ SymbolNode (location: (1,11)-(1,14)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (1,11)-(1,14) = "bar" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/alias_gvar.txt b/test/prism/snapshots/whitequark/alias_gvar.txt index d13f816555..a958cd781f 100644 --- a/test/prism/snapshots/whitequark/alias_gvar.txt +++ b/test/prism/snapshots/whitequark/alias_gvar.txt @@ -1,21 +1,29 @@ @ ProgramNode (location: (1,0)-(3,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,11)) + ├── flags: ∅ └── body: (length: 2) ├── @ AliasGlobalVariableNode (location: (1,0)-(1,11)) + │ ├── flags: newline │ ├── new_name: │ │ @ GlobalVariableReadNode (location: (1,6)-(1,8)) + │ │ ├── flags: ∅ │ │ └── name: :$a │ ├── old_name: │ │ @ BackReferenceReadNode (location: (1,9)-(1,11)) + │ │ ├── flags: ∅ │ │ └── name: :$+ │ └── keyword_loc: (1,0)-(1,5) = "alias" └── @ AliasGlobalVariableNode (location: (3,0)-(3,11)) + ├── flags: newline ├── new_name: │ @ GlobalVariableReadNode (location: (3,6)-(3,8)) + │ ├── flags: ∅ │ └── name: :$a ├── old_name: │ @ GlobalVariableReadNode (location: (3,9)-(3,11)) + │ ├── flags: ∅ │ └── name: :$b └── keyword_loc: (3,0)-(3,5) = "alias" diff --git a/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt b/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt index c6a5c14934..5406a2d2f1 100644 --- a/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt +++ b/test/prism/snapshots/whitequark/ambiuous_quoted_label_in_ternary_operator.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,15)) + ├── flags: newline ├── if_keyword_loc: ∅ ├── predicate: │ @ CallNode (location: (1,0)-(1,1)) @@ -19,9 +22,10 @@ ├── then_keyword_loc: (1,2)-(1,3) = "?" ├── statements: │ @ StatementsNode (location: (1,4)-(1,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,4)-(1,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,4)-(1,5)) │ │ ├── flags: variable_call, ignore_visibility @@ -51,10 +55,13 @@ │ └── block: ∅ ├── consequent: │ @ ElseNode (location: (1,10)-(1,15)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,10)-(1,11) = ":" │ ├── statements: │ │ @ StatementsNode (location: (1,12)-(1,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ NilNode (location: (1,12)-(1,15)) + │ │ └── flags: newline, static_literal │ └── end_keyword_loc: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/and.txt b/test/prism/snapshots/whitequark/and.txt index d2e1b33c50..3f548d55eb 100644 --- a/test/prism/snapshots/whitequark/and.txt +++ b/test/prism/snapshots/whitequark/and.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,11)) + ├── flags: ∅ └── body: (length: 2) ├── @ AndNode (location: (1,0)-(1,10)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -28,6 +31,7 @@ │ │ └── block: ∅ │ └── operator_loc: (1,4)-(1,6) = "&&" └── @ AndNode (location: (3,0)-(3,11)) + ├── flags: newline ├── left: │ @ CallNode (location: (3,0)-(3,3)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/and_asgn.txt b/test/prism/snapshots/whitequark/and_asgn.txt index 5c7a9a2319..f07cfd749d 100644 --- a/test/prism/snapshots/whitequark/and_asgn.txt +++ b/test/prism/snapshots/whitequark/and_asgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,15)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallAndWriteNode (location: (1,0)-(1,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -23,10 +25,10 @@ │ ├── operator_loc: (1,6)-(1,9) = "&&=" │ └── value: │ @ IntegerNode (location: (1,10)-(1,11)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 └── @ IndexAndWriteNode (location: (3,0)-(3,15)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (3,0)-(3,3)) │ ├── flags: variable_call, ignore_visibility @@ -45,15 +47,15 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (3,4)-(3,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ └── @ IntegerNode (location: (3,7)-(3,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (3,8)-(3,9) = "]" ├── block: ∅ ├── operator_loc: (3,10)-(3,13) = "&&=" └── value: @ IntegerNode (location: (3,14)-(3,15)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 2 diff --git a/test/prism/snapshots/whitequark/and_or_masgn.txt b/test/prism/snapshots/whitequark/and_or_masgn.txt index 05aff040cd..208120c02e 100644 --- a/test/prism/snapshots/whitequark/and_or_masgn.txt +++ b/test/prism/snapshots/whitequark/and_or_masgn.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,19)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(3,19)) + ├── flags: ∅ └── body: (length: 2) ├── @ AndNode (location: (1,0)-(1,19)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -17,15 +20,20 @@ │ │ └── block: ∅ │ ├── right: │ │ @ ParenthesesNode (location: (1,7)-(1,19)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,8)-(1,18)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ MultiWriteNode (location: (1,8)-(1,18)) + │ │ │ ├── flags: newline │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ LocalVariableTargetNode (location: (1,8)-(1,9)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :a │ │ │ │ │ └── depth: 0 │ │ │ │ └── @ LocalVariableTargetNode (location: (1,11)-(1,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :b │ │ │ │ └── depth: 0 │ │ │ ├── rest: ∅ @@ -48,6 +56,7 @@ │ │ └── closing_loc: (1,18)-(1,19) = ")" │ └── operator_loc: (1,4)-(1,6) = "&&" └── @ OrNode (location: (3,0)-(3,19)) + ├── flags: newline ├── left: │ @ CallNode (location: (3,0)-(3,3)) │ ├── flags: variable_call, ignore_visibility @@ -61,15 +70,20 @@ │ └── block: ∅ ├── right: │ @ ParenthesesNode (location: (3,7)-(3,19)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,8)-(3,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ MultiWriteNode (location: (3,8)-(3,18)) + │ │ ├── flags: newline │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (3,8)-(3,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (3,11)-(3,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/anonymous_blockarg.txt b/test/prism/snapshots/whitequark/anonymous_blockarg.txt index 92cf1504a9..7ae9500bb7 100644 --- a/test/prism/snapshots/whitequark/anonymous_blockarg.txt +++ b/test/prism/snapshots/whitequark/anonymous_blockarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,23)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,9)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -23,9 +27,10 @@ │ └── operator_loc: (1,8)-(1,9) = "&" ├── body: │ @ StatementsNode (location: (1,12)-(1,17)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,12)-(1,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -35,6 +40,7 @@ │ ├── closing_loc: (1,17)-(1,18) = ")" │ └── block: │ @ BlockArgumentNode (location: (1,16)-(1,17)) + │ ├── flags: ∅ │ ├── expression: ∅ │ └── operator_loc: (1,16)-(1,17) = "&" ├── locals: [] diff --git a/test/prism/snapshots/whitequark/arg.txt b/test/prism/snapshots/whitequark/arg.txt index 38fdb190f3..62f2a841e9 100644 --- a/test/prism/snapshots/whitequark/arg.txt +++ b/test/prism/snapshots/whitequark/arg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(3,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,20)) + ├── flags: ∅ └── body: (length: 2) ├── @ DefNode (location: (1,0)-(1,15)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (1,4)-(1,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,6)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,9)) │ │ │ ├── flags: ∅ @@ -28,11 +32,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (1,12)-(1,15) = "end" └── @ DefNode (location: (3,0)-(3,20)) + ├── flags: newline ├── name: :f ├── name_loc: (3,4)-(3,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (3,6)-(3,14)) + │ ├── flags: ∅ │ ├── requireds: (length: 2) │ │ ├── @ RequiredParameterNode (location: (3,6)-(3,9)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/arg_duplicate_ignored.txt b/test/prism/snapshots/whitequark/arg_duplicate_ignored.txt index 21dc1b7417..f67c7c9358 100644 --- a/test/prism/snapshots/whitequark/arg_duplicate_ignored.txt +++ b/test/prism/snapshots/whitequark/arg_duplicate_ignored.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(3,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,20)) + ├── flags: ∅ └── body: (length: 2) ├── @ DefNode (location: (1,0)-(1,18)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,8)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9)) │ │ │ │ ├── flags: ∅ @@ -31,11 +35,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (1,15)-(1,18) = "end" └── @ DefNode (location: (3,0)-(3,20)) + ├── flags: newline ├── name: :foo ├── name_loc: (3,4)-(3,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (3,8)-(3,14)) + │ ├── flags: ∅ │ ├── requireds: (length: 2) │ │ ├── @ RequiredParameterNode (location: (3,8)-(3,10)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/arg_label.txt b/test/prism/snapshots/whitequark/arg_label.txt index b72ea59a5d..97c1b45671 100644 --- a/test/prism/snapshots/whitequark/arg_label.txt +++ b/test/prism/snapshots/whitequark/arg_label.txt @@ -1,18 +1,22 @@ @ ProgramNode (location: (1,0)-(6,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(6,12)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefNode (location: (1,0)-(2,8)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (2,1)-(2,4)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (2,1)-(2,4)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -23,7 +27,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SymbolNode (location: (2,2)-(2,4)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (2,2)-(2,3) = ":" │ │ │ ├── value_loc: (2,3)-(2,4) = "b" │ │ │ ├── closing_loc: ∅ @@ -38,15 +42,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (2,5)-(2,8) = "end" ├── @ DefNode (location: (4,0)-(4,17)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (4,4)-(4,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (4,10)-(4,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (4,10)-(4,13)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :a @@ -57,7 +63,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SymbolNode (location: (4,11)-(4,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (4,11)-(4,12) = ":" │ │ │ ├── value_loc: (4,12)-(4,13) = "b" │ │ │ ├── closing_loc: ∅ @@ -72,7 +78,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (4,14)-(4,17) = "end" └── @ CallNode (location: (6,0)-(6,12)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -82,18 +88,21 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (6,2)-(6,12)) + ├── flags: ∅ ├── locals: [] ├── parameters: │ @ BlockParametersNode (location: (6,4)-(6,6)) + │ ├── flags: ∅ │ ├── parameters: ∅ │ ├── locals: (length: 0) │ ├── opening_loc: (6,4)-(6,5) = "|" │ └── closing_loc: (6,5)-(6,6) = "|" ├── body: │ @ StatementsNode (location: (6,7)-(6,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (6,7)-(6,10)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -104,7 +113,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (6,8)-(6,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (6,8)-(6,9) = ":" │ │ ├── value_loc: (6,9)-(6,10) = "b" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/arg_scope.txt b/test/prism/snapshots/whitequark/arg_scope.txt index c04356b8ee..7838aad5fd 100644 --- a/test/prism/snapshots/whitequark/arg_scope.txt +++ b/test/prism/snapshots/whitequark/arg_scope.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :lambda @@ -14,9 +16,11 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,6)-(1,13)) + ├── flags: ∅ ├── locals: [:a] ├── parameters: │ @ BlockParametersNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ ├── parameters: ∅ │ ├── locals: (length: 1) │ │ └── @ BlockLocalVariableNode (location: (1,9)-(1,10)) @@ -26,8 +30,10 @@ │ └── closing_loc: (1,10)-(1,11) = "|" ├── body: │ @ StatementsNode (location: (1,11)-(1,12)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (1,11)-(1,12)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── opening_loc: (1,6)-(1,7) = "{" diff --git a/test/prism/snapshots/whitequark/args.txt b/test/prism/snapshots/whitequark/args.txt index bc7ea8ad7d..76434b907d 100644 --- a/test/prism/snapshots/whitequark/args.txt +++ b/test/prism/snapshots/whitequark/args.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(63,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(63,21)) + ├── flags: ∅ └── body: (length: 31) ├── @ DefNode (location: (1,0)-(1,13)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (1,4)-(1,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,6)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -30,15 +34,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (1,10)-(1,13) = "end" ├── @ DefNode (location: (3,0)-(3,18)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (3,4)-(3,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (3,7)-(3,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (3,7)-(3,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ MultiTargetNode (location: (3,8)-(3,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (3,9)-(3,10)) │ │ │ │ │ ├── flags: ∅ @@ -66,16 +74,20 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,15)-(3,18) = "end" ├── @ DefNode (location: (5,0)-(5,16)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (5,4)-(5,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (5,7)-(5,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (5,7)-(5,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (5,8)-(5,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (5,8)-(5,9) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 0) @@ -96,16 +108,20 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,13)-(5,16) = "end" ├── @ DefNode (location: (7,0)-(7,19)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (7,4)-(7,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (7,7)-(7,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (7,7)-(7,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (7,8)-(7,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (7,8)-(7,9) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 1) @@ -129,16 +145,20 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (7,16)-(7,19) = "end" ├── @ DefNode (location: (9,0)-(9,17)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (9,4)-(9,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (9,7)-(9,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (9,7)-(9,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (9,8)-(9,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (9,8)-(9,9) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (9,9)-(9,10)) @@ -162,16 +182,20 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (9,14)-(9,17) = "end" ├── @ DefNode (location: (11,0)-(11,20)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (11,4)-(11,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (11,7)-(11,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (11,7)-(11,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 0) │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (11,8)-(11,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (11,8)-(11,9) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (11,9)-(11,10)) @@ -198,19 +222,23 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (11,17)-(11,20) = "end" ├── @ DefNode (location: (13,0)-(13,19)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (13,4)-(13,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (13,7)-(13,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (13,7)-(13,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (13,8)-(13,9)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (13,11)-(13,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (13,11)-(13,12) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 0) @@ -231,19 +259,23 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (13,16)-(13,19) = "end" ├── @ DefNode (location: (15,0)-(15,22)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (15,4)-(15,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (15,7)-(15,16)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (15,7)-(15,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (15,8)-(15,9)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (15,11)-(15,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (15,11)-(15,12) = "*" │ │ │ │ └── expression: ∅ │ │ │ ├── rights: (length: 1) @@ -267,19 +299,23 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (15,19)-(15,22) = "end" ├── @ DefNode (location: (17,0)-(17,20)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (17,4)-(17,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (17,7)-(17,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (17,7)-(17,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (17,8)-(17,9)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (17,11)-(17,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (17,11)-(17,12) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (17,12)-(17,13)) @@ -303,19 +339,23 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (17,17)-(17,20) = "end" ├── @ DefNode (location: (19,0)-(19,23)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (19,4)-(19,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (19,7)-(19,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (19,7)-(19,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (19,8)-(19,9)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :a │ │ │ ├── rest: │ │ │ │ @ SplatNode (location: (19,11)-(19,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (19,11)-(19,12) = "*" │ │ │ │ └── expression: │ │ │ │ @ RequiredParameterNode (location: (19,12)-(19,13)) @@ -342,13 +382,16 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (19,20)-(19,23) = "end" ├── @ DefNode (location: (21,0)-(21,20)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (21,4)-(21,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (21,7)-(21,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ MultiTargetNode (location: (21,7)-(21,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── lefts: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (21,8)-(21,9)) │ │ │ │ │ ├── flags: ∅ @@ -375,11 +418,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (21,17)-(21,20) = "end" ├── @ DefNode (location: (23,0)-(23,23)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (23,4)-(23,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (23,7)-(23,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -391,7 +436,7 @@ │ │ │ ├── name_loc: (23,7)-(23,11) = "foo:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (23,12)-(23,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── keyword_rest: ∅ │ │ └── block: @@ -409,11 +454,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (23,20)-(23,23) = "end" ├── @ DefNode (location: (25,0)-(25,38)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (25,4)-(25,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (25,7)-(25,32)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -425,7 +472,7 @@ │ │ │ │ ├── name_loc: (25,7)-(25,11) = "foo:" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (25,12)-(25,13)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ OptionalKeywordParameterNode (location: (25,15)-(25,21)) │ │ │ ├── flags: ∅ @@ -433,7 +480,7 @@ │ │ │ ├── name_loc: (25,15)-(25,19) = "bar:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (25,20)-(25,21)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── keyword_rest: │ │ │ @ KeywordRestParameterNode (location: (25,23)-(25,28)) @@ -456,11 +503,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (25,35)-(25,38) = "end" ├── @ DefNode (location: (27,0)-(27,20)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (27,4)-(27,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (27,6)-(27,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -487,11 +536,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (27,17)-(27,20) = "end" ├── @ DefNode (location: (29,0)-(29,16)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (29,4)-(29,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (29,6)-(29,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -518,11 +569,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (29,13)-(29,16) = "end" ├── @ DefNode (location: (31,0)-(31,17)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (31,4)-(31,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (31,6)-(31,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -549,11 +602,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (31,14)-(31,17) = "end" ├── @ DefNode (location: (33,0)-(33,20)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (33,4)-(33,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (33,6)-(33,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: @@ -583,6 +638,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (33,17)-(33,20) = "end" ├── @ DefNode (location: (35,0)-(35,11)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (35,4)-(35,5) = "f" │ ├── receiver: ∅ @@ -596,11 +652,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (35,8)-(35,11) = "end" ├── @ DefNode (location: (37,0)-(37,16)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (37,4)-(37,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (37,6)-(37,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (37,6)-(37,7)) │ │ │ ├── flags: ∅ @@ -625,11 +683,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (37,13)-(37,16) = "end" ├── @ DefNode (location: (39,0)-(39,20)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (39,4)-(39,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (39,6)-(39,15)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (39,6)-(39,7)) │ │ │ ├── flags: ∅ @@ -659,11 +719,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (39,17)-(39,20) = "end" ├── @ DefNode (location: (41,0)-(41,23)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (41,4)-(41,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (41,6)-(41,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (41,6)-(41,7)) │ │ │ ├── flags: ∅ @@ -696,11 +758,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (41,20)-(41,23) = "end" ├── @ DefNode (location: (43,0)-(43,21)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (43,4)-(43,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (43,6)-(43,16)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (43,6)-(43,7)) │ │ │ ├── flags: ∅ @@ -713,7 +777,7 @@ │ │ │ ├── operator_loc: (43,10)-(43,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (43,11)-(43,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -734,11 +798,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (43,18)-(43,21) = "end" ├── @ DefNode (location: (45,0)-(45,25)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (45,4)-(45,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (45,6)-(45,20)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (45,6)-(45,7)) │ │ │ ├── flags: ∅ @@ -751,7 +817,7 @@ │ │ │ ├── operator_loc: (45,10)-(45,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (45,11)-(45,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (45,14)-(45,16)) @@ -777,11 +843,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (45,22)-(45,25) = "end" ├── @ DefNode (location: (47,0)-(47,28)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (47,4)-(47,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (47,6)-(47,23)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (47,6)-(47,7)) │ │ │ ├── flags: ∅ @@ -794,7 +862,7 @@ │ │ │ ├── operator_loc: (47,10)-(47,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (47,11)-(47,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (47,14)-(47,16)) @@ -823,11 +891,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (47,25)-(47,28) = "end" ├── @ DefNode (location: (49,0)-(49,24)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (49,4)-(49,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (49,6)-(49,19)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (49,6)-(49,7)) │ │ │ ├── flags: ∅ @@ -840,7 +910,7 @@ │ │ │ ├── operator_loc: (49,10)-(49,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (49,11)-(49,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 1) @@ -864,11 +934,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (49,21)-(49,24) = "end" ├── @ DefNode (location: (51,0)-(52,5)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (51,4)-(51,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (51,6)-(51,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -889,11 +961,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (52,2)-(52,5) = "end" ├── @ DefNode (location: (54,0)-(55,5)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (54,4)-(54,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (54,6)-(54,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -905,7 +979,7 @@ │ │ │ ├── name_loc: (54,6)-(54,10) = "foo:" │ │ │ └── value: │ │ │ @ IntegerNode (location: (54,11)-(54,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: -1 │ │ ├── keyword_rest: ∅ │ │ └── block: ∅ @@ -918,11 +992,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (55,2)-(55,5) = "end" ├── @ DefNode (location: (57,0)-(57,18)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (57,4)-(57,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (57,6)-(57,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (57,6)-(57,9)) @@ -932,7 +1008,7 @@ │ │ │ ├── operator_loc: (57,7)-(57,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (57,8)-(57,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -953,11 +1029,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (57,15)-(57,18) = "end" ├── @ DefNode (location: (59,0)-(59,22)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (59,4)-(59,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (59,6)-(59,17)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (59,6)-(59,9)) @@ -967,7 +1045,7 @@ │ │ │ ├── operator_loc: (59,7)-(59,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (59,8)-(59,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (59,11)-(59,13)) @@ -993,11 +1071,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (59,19)-(59,22) = "end" ├── @ DefNode (location: (61,0)-(61,25)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (61,4)-(61,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (61,6)-(61,20)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (61,6)-(61,9)) @@ -1007,7 +1087,7 @@ │ │ │ ├── operator_loc: (61,7)-(61,8) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (61,8)-(61,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: │ │ │ @ RestParameterNode (location: (61,11)-(61,13)) @@ -1036,11 +1116,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (61,22)-(61,25) = "end" └── @ DefNode (location: (63,0)-(63,21)) + ├── flags: newline ├── name: :f ├── name_loc: (63,4)-(63,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (63,6)-(63,16)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 1) │ │ └── @ OptionalParameterNode (location: (63,6)-(63,9)) @@ -1050,7 +1132,7 @@ │ │ ├── operator_loc: (63,7)-(63,8) = "=" │ │ └── value: │ │ @ IntegerNode (location: (63,8)-(63,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── rest: ∅ │ ├── posts: (length: 1) diff --git a/test/prism/snapshots/whitequark/args_args_assocs.txt b/test/prism/snapshots/whitequark/args_args_assocs.txt index d257a885ce..bc9615273e 100644 --- a/test/prism/snapshots/whitequark/args_args_assocs.txt +++ b/test/prism/snapshots/whitequark/args_args_assocs.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,24)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,19)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -28,22 +30,23 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,9)-(1,18)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,9)-(1,13)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,9)-(1,10) = ":" │ │ │ ├── value_loc: (1,10)-(1,13) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,17)-(1,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: (1,14)-(1,16) = "=>" │ ├── closing_loc: (1,18)-(1,19) = ")" │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,24)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -67,21 +70,23 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (3,9)-(3,18)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (3,9)-(3,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,9)-(3,10) = ":" │ │ ├── value_loc: (3,10)-(3,13) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── value: │ │ @ IntegerNode (location: (3,17)-(3,18)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (3,14)-(3,16) = "=>" ├── closing_loc: (3,24)-(3,25) = ")" └── block: @ BlockArgumentNode (location: (3,20)-(3,24)) + ├── flags: ∅ ├── expression: │ @ CallNode (location: (3,21)-(3,24)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/args_args_assocs_comma.txt b/test/prism/snapshots/whitequark/args_args_assocs_comma.txt index 2d986dd90a..cb98bdd1a0 100644 --- a/test/prism/snapshots/whitequark/args_args_assocs_comma.txt +++ b/test/prism/snapshots/whitequark/args_args_assocs_comma.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,20)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -38,16 +40,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,9)-(1,18)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,9)-(1,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,9)-(1,10) = ":" │ │ ├── value_loc: (1,10)-(1,13) = "baz" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "baz" │ ├── value: │ │ @ IntegerNode (location: (1,17)-(1,18)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (1,14)-(1,16) = "=>" ├── closing_loc: (1,19)-(1,20) = "]" diff --git a/test/prism/snapshots/whitequark/args_args_comma.txt b/test/prism/snapshots/whitequark/args_args_comma.txt index 09113a72b6..1452565827 100644 --- a/test/prism/snapshots/whitequark/args_args_comma.txt +++ b/test/prism/snapshots/whitequark/args_args_comma.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/args_args_star.txt b/test/prism/snapshots/whitequark/args_args_star.txt index 26c9e72da3..85830e7fa2 100644 --- a/test/prism/snapshots/whitequark/args_args_star.txt +++ b/test/prism/snapshots/whitequark/args_args_star.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,19)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,14)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -25,6 +27,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ SplatNode (location: (1,9)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,9)-(1,10) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,10)-(1,13)) @@ -40,7 +43,7 @@ │ ├── closing_loc: (1,13)-(1,14) = ")" │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,19)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -61,6 +64,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── @ SplatNode (location: (3,9)-(3,13)) + │ ├── flags: ∅ │ ├── operator_loc: (3,9)-(3,10) = "*" │ └── expression: │ @ CallNode (location: (3,10)-(3,13)) @@ -76,6 +80,7 @@ ├── closing_loc: (3,19)-(3,20) = ")" └── block: @ BlockArgumentNode (location: (3,15)-(3,19)) + ├── flags: ∅ ├── expression: │ @ CallNode (location: (3,16)-(3,19)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/args_assocs_comma.txt b/test/prism/snapshots/whitequark/args_assocs_comma.txt index 64a25bbc45..2d00798a37 100644 --- a/test/prism/snapshots/whitequark/args_assocs_comma.txt +++ b/test/prism/snapshots/whitequark/args_assocs_comma.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -28,16 +30,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,4)-(1,13)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,4)-(1,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,4)-(1,5) = ":" │ │ ├── value_loc: (1,5)-(1,8) = "baz" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "baz" │ ├── value: │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (1,9)-(1,11) = "=>" ├── closing_loc: (1,14)-(1,15) = "]" diff --git a/test/prism/snapshots/whitequark/args_block_pass.txt b/test/prism/snapshots/whitequark/args_block_pass.txt index 99ffa81934..495d8efd4f 100644 --- a/test/prism/snapshots/whitequark/args_block_pass.txt +++ b/test/prism/snapshots/whitequark/args_block_pass.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -14,6 +16,7 @@ ├── closing_loc: (1,8)-(1,9) = ")" └── block: @ BlockArgumentNode (location: (1,4)-(1,8)) + ├── flags: ∅ ├── expression: │ @ CallNode (location: (1,5)-(1,8)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/args_cmd.txt b/test/prism/snapshots/whitequark/args_cmd.txt index 0089e56157..1cfdf1bb10 100644 --- a/test/prism/snapshots/whitequark/args_cmd.txt +++ b/test/prism/snapshots/whitequark/args_cmd.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun diff --git a/test/prism/snapshots/whitequark/args_star.txt b/test/prism/snapshots/whitequark/args_star.txt index c19577f106..fc04bacc76 100644 --- a/test/prism/snapshots/whitequark/args_star.txt +++ b/test/prism/snapshots/whitequark/args_star.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,14)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -15,6 +17,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (1,4)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,4)-(1,5) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,5)-(1,8)) @@ -30,7 +33,7 @@ │ ├── closing_loc: (1,8)-(1,9) = ")" │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -41,6 +44,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ SplatNode (location: (3,4)-(3,8)) + │ ├── flags: ∅ │ ├── operator_loc: (3,4)-(3,5) = "*" │ └── expression: │ @ CallNode (location: (3,5)-(3,8)) @@ -56,6 +60,7 @@ ├── closing_loc: (3,14)-(3,15) = ")" └── block: @ BlockArgumentNode (location: (3,10)-(3,14)) + ├── flags: ∅ ├── expression: │ @ CallNode (location: (3,11)-(3,14)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/array_assocs.txt b/test/prism/snapshots/whitequark/array_assocs.txt index 3747e3f7d8..30a41a8c51 100644 --- a/test/prism/snapshots/whitequark/array_assocs.txt +++ b/test/prism/snapshots/whitequark/array_assocs.txt @@ -1,43 +1,47 @@ @ ProgramNode (location: (1,0)-(3,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,13)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (1,2)-(1,8)) │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,2)-(1,8)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ IntegerNode (location: (1,2)-(1,3)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── value: │ │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (1,4)-(1,6) = "=>" │ ├── opening_loc: (1,0)-(1,1) = "[" │ └── closing_loc: (1,9)-(1,10) = "]" └── @ ArrayNode (location: (3,0)-(3,13)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 2) │ ├── @ IntegerNode (location: (3,2)-(3,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ KeywordHashNode (location: (3,5)-(3,11)) │ ├── flags: ∅ │ └── elements: (length: 1) │ └── @ AssocNode (location: (3,5)-(3,11)) + │ ├── flags: static_literal │ ├── key: │ │ @ IntegerNode (location: (3,5)-(3,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── value: │ │ @ IntegerNode (location: (3,10)-(3,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── operator_loc: (3,7)-(3,9) = "=>" ├── opening_loc: (3,0)-(3,1) = "[" diff --git a/test/prism/snapshots/whitequark/array_plain.txt b/test/prism/snapshots/whitequark/array_plain.txt index b183a7ac6b..3e0966fe8f 100644 --- a/test/prism/snapshots/whitequark/array_plain.txt +++ b/test/prism/snapshots/whitequark/array_plain.txt @@ -1,16 +1,18 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,1)-(1,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── opening_loc: (1,0)-(1,1) = "[" └── closing_loc: (1,5)-(1,6) = "]" diff --git a/test/prism/snapshots/whitequark/array_splat.txt b/test/prism/snapshots/whitequark/array_splat.txt index f76563e9f4..bfd74572ca 100644 --- a/test/prism/snapshots/whitequark/array_splat.txt +++ b/test/prism/snapshots/whitequark/array_splat.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(5,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,9)) + ├── flags: ∅ └── body: (length: 3) ├── @ ArrayNode (location: (1,0)-(1,6)) - │ ├── flags: contains_splat + │ ├── flags: newline, contains_splat │ ├── elements: (length: 1) │ │ └── @ SplatNode (location: (1,1)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,1)-(1,2) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,2)-(1,5)) @@ -22,12 +25,13 @@ │ ├── opening_loc: (1,0)-(1,1) = "[" │ └── closing_loc: (1,5)-(1,6) = "]" ├── @ ArrayNode (location: (3,0)-(3,12)) - │ ├── flags: contains_splat + │ ├── flags: newline, contains_splat │ ├── elements: (length: 3) │ │ ├── @ IntegerNode (location: (3,1)-(3,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── @ SplatNode (location: (3,4)-(3,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (3,4)-(3,5) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (3,5)-(3,8)) @@ -41,17 +45,18 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ IntegerNode (location: (3,10)-(3,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: (3,0)-(3,1) = "[" │ └── closing_loc: (3,11)-(3,12) = "]" └── @ ArrayNode (location: (5,0)-(5,9)) - ├── flags: contains_splat + ├── flags: newline, contains_splat ├── elements: (length: 2) │ ├── @ IntegerNode (location: (5,1)-(5,2)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ SplatNode (location: (5,4)-(5,8)) + │ ├── flags: ∅ │ ├── operator_loc: (5,4)-(5,5) = "*" │ └── expression: │ @ CallNode (location: (5,5)-(5,8)) diff --git a/test/prism/snapshots/whitequark/array_symbols.txt b/test/prism/snapshots/whitequark/array_symbols.txt index 0662f01af1..75e342637c 100644 --- a/test/prism/snapshots/whitequark/array_symbols.txt +++ b/test/prism/snapshots/whitequark/array_symbols.txt @@ -1,19 +1,21 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,11)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 2) │ ├── @ SymbolNode (location: (1,3)-(1,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,3)-(1,6) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── @ SymbolNode (location: (1,7)-(1,10)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: ∅ │ ├── value_loc: (1,7)-(1,10) = "bar" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/array_symbols_empty.txt b/test/prism/snapshots/whitequark/array_symbols_empty.txt index 1068ba6d0e..b2d7eda20f 100644 --- a/test/prism/snapshots/whitequark/array_symbols_empty.txt +++ b/test/prism/snapshots/whitequark/array_symbols_empty.txt @@ -1,15 +1,17 @@ @ ProgramNode (location: (1,0)-(3,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,4)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (1,0)-(1,3) = "%I(" │ └── closing_loc: (1,3)-(1,4) = ")" └── @ ArrayNode (location: (3,0)-(3,4)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 0) ├── opening_loc: (3,0)-(3,3) = "%i[" └── closing_loc: (3,3)-(3,4) = "]" diff --git a/test/prism/snapshots/whitequark/array_symbols_interp.txt b/test/prism/snapshots/whitequark/array_symbols_interp.txt index 2437486b43..f250ef041f 100644 --- a/test/prism/snapshots/whitequark/array_symbols_interp.txt +++ b/test/prism/snapshots/whitequark/array_symbols_interp.txt @@ -1,24 +1,29 @@ @ ProgramNode (location: (1,0)-(3,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,13)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ SymbolNode (location: (1,3)-(1,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,3)-(1,6) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ InterpolatedSymbolNode (location: (1,7)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: ∅ │ │ ├── parts: (length: 1) │ │ │ └── @ EmbeddedStatementsNode (location: (1,7)-(1,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,7)-(1,9) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,9)-(1,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -35,21 +40,24 @@ │ ├── opening_loc: (1,0)-(1,3) = "%I[" │ └── closing_loc: (1,13)-(1,14) = "]" └── @ ArrayNode (location: (3,0)-(3,13)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 1) │ └── @ InterpolatedSymbolNode (location: (3,3)-(3,12)) + │ ├── flags: ∅ │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (3,3)-(3,6)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,3)-(3,6) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ EmbeddedStatementsNode (location: (3,6)-(3,12)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (3,6)-(3,8) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,8)-(3,11)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,8)-(3,11)) │ │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/array_words.txt b/test/prism/snapshots/whitequark/array_words.txt index 84121de355..c6594b3218 100644 --- a/test/prism/snapshots/whitequark/array_words.txt +++ b/test/prism/snapshots/whitequark/array_words.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ ArrayNode (location: (1,0)-(1,11)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 2) │ ├── @ StringNode (location: (1,3)-(1,6)) │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/array_words_empty.txt b/test/prism/snapshots/whitequark/array_words_empty.txt index e4dba94cdf..5bab3f49ef 100644 --- a/test/prism/snapshots/whitequark/array_words_empty.txt +++ b/test/prism/snapshots/whitequark/array_words_empty.txt @@ -1,15 +1,17 @@ @ ProgramNode (location: (1,0)-(3,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,4)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 0) │ ├── opening_loc: (1,0)-(1,3) = "%W(" │ └── closing_loc: (1,3)-(1,4) = ")" └── @ ArrayNode (location: (3,0)-(3,4)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── elements: (length: 0) ├── opening_loc: (3,0)-(3,3) = "%w[" └── closing_loc: (3,3)-(3,4) = "]" diff --git a/test/prism/snapshots/whitequark/array_words_interp.txt b/test/prism/snapshots/whitequark/array_words_interp.txt index c3ae9a0cf8..dd104a1921 100644 --- a/test/prism/snapshots/whitequark/array_words_interp.txt +++ b/test/prism/snapshots/whitequark/array_words_interp.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,22)) + ├── flags: ∅ └── body: (length: 2) ├── @ ArrayNode (location: (1,0)-(1,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 2) │ │ ├── @ StringNode (location: (1,3)-(1,6)) │ │ │ ├── flags: ∅ @@ -17,9 +19,11 @@ │ │ ├── opening_loc: ∅ │ │ ├── parts: (length: 1) │ │ │ └── @ EmbeddedStatementsNode (location: (1,7)-(1,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,7)-(1,9) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,9)-(1,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -36,7 +40,7 @@ │ ├── opening_loc: (1,0)-(1,3) = "%W[" │ └── closing_loc: (1,13)-(1,14) = "]" └── @ ArrayNode (location: (3,0)-(3,22)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 2) │ ├── @ StringNode (location: (3,3)-(3,6)) │ │ ├── flags: ∅ @@ -49,9 +53,11 @@ │ ├── opening_loc: ∅ │ ├── parts: (length: 3) │ │ ├── @ EmbeddedStatementsNode (location: (3,7)-(3,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (3,7)-(3,9) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (3,9)-(3,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (3,9)-(3,12)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -65,15 +71,17 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (3,12)-(3,13) = "}" │ │ ├── @ StringNode (location: (3,13)-(3,16)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,13)-(3,16) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ EmbeddedVariableNode (location: (3,16)-(3,21)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (3,16)-(3,17) = "#" │ │ └── variable: │ │ @ InstanceVariableReadNode (location: (3,17)-(3,21)) + │ │ ├── flags: ∅ │ │ └── name: :@baz │ └── closing_loc: ∅ ├── opening_loc: (3,0)-(3,3) = "%W[" diff --git a/test/prism/snapshots/whitequark/asgn_cmd.txt b/test/prism/snapshots/whitequark/asgn_cmd.txt index 4a3c36680b..c212864ded 100644 --- a/test/prism/snapshots/whitequark/asgn_cmd.txt +++ b/test/prism/snapshots/whitequark/asgn_cmd.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(3,11)) +├── flags: ∅ ├── locals: [:foo, :bar] └── statements: @ StatementsNode (location: (1,0)-(3,11)) + ├── flags: ∅ └── body: (length: 2) ├── @ LocalVariableWriteNode (location: (1,0)-(1,17)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (1,0)-(1,3) = "foo" │ ├── value: │ │ @ LocalVariableWriteNode (location: (1,6)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── name: :bar │ │ ├── depth: 0 │ │ ├── name_loc: (1,6)-(1,9) = "bar" @@ -25,6 +29,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (1,14)-(1,17)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :foo │ │ │ │ └── depth: 0 │ │ │ ├── closing_loc: ∅ @@ -32,6 +37,7 @@ │ │ └── operator_loc: (1,10)-(1,11) = "=" │ └── operator_loc: (1,4)-(1,5) = "=" └── @ LocalVariableWriteNode (location: (3,0)-(3,11)) + ├── flags: newline ├── name: :foo ├── depth: 0 ├── name_loc: (3,0)-(3,3) = "foo" @@ -48,6 +54,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (3,8)-(3,11)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/asgn_mrhs.txt b/test/prism/snapshots/whitequark/asgn_mrhs.txt index 41d5bdc5bf..972eaf7fa5 100644 --- a/test/prism/snapshots/whitequark/asgn_mrhs.txt +++ b/test/prism/snapshots/whitequark/asgn_mrhs.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(5,15)) +├── flags: ∅ ├── locals: [:foo] └── statements: @ StatementsNode (location: (1,0)-(5,15)) + ├── flags: ∅ └── body: (length: 3) ├── @ LocalVariableWriteNode (location: (1,0)-(1,10)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (1,0)-(1,3) = "foo" @@ -12,6 +15,7 @@ │ │ ├── flags: contains_splat │ │ ├── elements: (length: 1) │ │ │ └── @ SplatNode (location: (1,6)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (1,6)-(1,7) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (1,7)-(1,10)) @@ -28,6 +32,7 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (1,4)-(1,5) = "=" ├── @ LocalVariableWriteNode (location: (3,0)-(3,12)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (3,0)-(3,3) = "foo" @@ -46,12 +51,13 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: ∅ │ │ │ └── @ IntegerNode (location: (3,11)-(3,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: ∅ │ │ └── closing_loc: ∅ │ └── operator_loc: (3,4)-(3,5) = "=" └── @ LocalVariableWriteNode (location: (5,0)-(5,15)) + ├── flags: newline ├── name: :foo ├── depth: 0 ├── name_loc: (5,0)-(5,3) = "foo" @@ -70,6 +76,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ SplatNode (location: (5,11)-(5,15)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (5,11)-(5,12) = "*" │ │ └── expression: │ │ @ CallNode (location: (5,12)-(5,15)) diff --git a/test/prism/snapshots/whitequark/back_ref.txt b/test/prism/snapshots/whitequark/back_ref.txt index ea6b76faf7..240285bd8d 100644 --- a/test/prism/snapshots/whitequark/back_ref.txt +++ b/test/prism/snapshots/whitequark/back_ref.txt @@ -1,7 +1,10 @@ @ ProgramNode (location: (1,0)-(1,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,2)) + ├── flags: ∅ └── body: (length: 1) └── @ BackReferenceReadNode (location: (1,0)-(1,2)) + ├── flags: newline └── name: :$+ diff --git a/test/prism/snapshots/whitequark/bang.txt b/test/prism/snapshots/whitequark/bang.txt index 997a8718c5..165a5d3149 100644 --- a/test/prism/snapshots/whitequark/bang.txt +++ b/test/prism/snapshots/whitequark/bang.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,1)-(1,4)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/bang_cmd.txt b/test/prism/snapshots/whitequark/bang_cmd.txt index e487da5e57..d4487ad6ca 100644 --- a/test/prism/snapshots/whitequark/bang_cmd.txt +++ b/test/prism/snapshots/whitequark/bang_cmd.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,1)-(1,6)) │ ├── flags: ignore_visibility diff --git a/test/prism/snapshots/whitequark/begin_cmdarg.txt b/test/prism/snapshots/whitequark/begin_cmdarg.txt index b0c03c1754..8287191fab 100644 --- a/test/prism/snapshots/whitequark/begin_cmdarg.txt +++ b/test/prism/snapshots/whitequark/begin_cmdarg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,28)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,28)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -15,15 +17,17 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ BeginNode (location: (1,2)-(1,28)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: (1,2)-(1,7) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (1,8)-(1,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,8)-(1,24)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── call_operator_loc: (1,9)-(1,10) = "." │ │ ├── name: :times @@ -33,13 +37,15 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (1,16)-(1,24)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,19)-(1,20)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (1,19)-(1,20)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: (1,16)-(1,18) = "do" │ │ └── closing_loc: (1,21)-(1,24) = "end" diff --git a/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt b/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt index 69db24a127..fe05701982 100644 --- a/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt +++ b/test/prism/snapshots/whitequark/beginless_erange_after_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,6)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,10 +16,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ RangeNode (location: (2,0)-(2,6)) - ├── flags: exclude_end + ├── flags: newline, static_literal, exclude_end ├── left: ∅ ├── right: │ @ IntegerNode (location: (2,3)-(2,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 100 └── operator_loc: (2,0)-(2,3) = "..." diff --git a/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt b/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt index cbc11c83c1..ae5c09808a 100644 --- a/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt +++ b/test/prism/snapshots/whitequark/beginless_irange_after_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,5)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -14,10 +16,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ RangeNode (location: (2,0)-(2,5)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── left: ∅ ├── right: │ @ IntegerNode (location: (2,2)-(2,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 100 └── operator_loc: (2,0)-(2,2) = ".." diff --git a/test/prism/snapshots/whitequark/beginless_range.txt b/test/prism/snapshots/whitequark/beginless_range.txt index 59e6f135ad..897429e33b 100644 --- a/test/prism/snapshots/whitequark/beginless_range.txt +++ b/test/prism/snapshots/whitequark/beginless_range.txt @@ -1,21 +1,23 @@ @ ProgramNode (location: (1,0)-(3,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,5)) + ├── flags: ∅ └── body: (length: 2) ├── @ RangeNode (location: (1,0)-(1,6)) - │ ├── flags: exclude_end + │ ├── flags: newline, static_literal, exclude_end │ ├── left: ∅ │ ├── right: │ │ @ IntegerNode (location: (1,3)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 100 │ └── operator_loc: (1,0)-(1,3) = "..." └── @ RangeNode (location: (3,0)-(3,5)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── left: ∅ ├── right: │ @ IntegerNode (location: (3,2)-(3,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 100 └── operator_loc: (3,0)-(3,2) = ".." diff --git a/test/prism/snapshots/whitequark/blockarg.txt b/test/prism/snapshots/whitequark/blockarg.txt index 70b054e073..d57d61b603 100644 --- a/test/prism/snapshots/whitequark/blockarg.txt +++ b/test/prism/snapshots/whitequark/blockarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,18)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/blockargs.txt b/test/prism/snapshots/whitequark/blockargs.txt index 149c3765c9..53ef39ac0f 100644 --- a/test/prism/snapshots/whitequark/blockargs.txt +++ b/test/prism/snapshots/whitequark/blockargs.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(71,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(71,7)) + ├── flags: ∅ └── body: (length: 35) ├── @ CallNode (location: (1,0)-(1,5)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -14,13 +16,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,1)-(1,5)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,1)-(1,2) = "{" │ └── closing_loc: (1,4)-(1,5) = "}" ├── @ CallNode (location: (3,0)-(3,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -30,9 +33,11 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,1)-(3,8)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: │ │ @ BlockParametersNode (location: (3,3)-(3,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 0) │ │ ├── opening_loc: (3,3)-(3,4) = "|" @@ -41,7 +46,7 @@ │ ├── opening_loc: (3,1)-(3,2) = "{" │ └── closing_loc: (3,7)-(3,8) = "}" ├── @ CallNode (location: (5,0)-(5,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -51,11 +56,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,1)-(5,9)) + │ ├── flags: ∅ │ ├── locals: [:b] │ ├── parameters: │ │ @ BlockParametersNode (location: (5,3)-(5,7)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (5,4)-(5,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -75,7 +83,7 @@ │ ├── opening_loc: (5,1)-(5,2) = "{" │ └── closing_loc: (5,8)-(5,9) = "}" ├── @ CallNode (location: (7,0)-(7,16)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -85,11 +93,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (7,1)-(7,16)) + │ ├── flags: ∅ │ ├── locals: [:baz, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (7,3)-(7,14)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (7,4)-(7,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -114,7 +125,7 @@ │ ├── opening_loc: (7,1)-(7,2) = "{" │ └── closing_loc: (7,15)-(7,16) = "}" ├── @ CallNode (location: (9,0)-(9,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -124,11 +135,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (9,1)-(9,12)) + │ ├── flags: ∅ │ ├── locals: [:b] │ ├── parameters: │ │ @ BlockParametersNode (location: (9,3)-(9,10)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (9,4)-(9,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: @@ -153,7 +167,7 @@ │ ├── opening_loc: (9,1)-(9,2) = "{" │ └── closing_loc: (9,11)-(9,12) = "}" ├── @ CallNode (location: (11,0)-(11,16)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -163,11 +177,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (11,1)-(11,16)) + │ ├── flags: ∅ │ ├── locals: [:r, :p, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (11,3)-(11,14)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (11,4)-(11,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: @@ -195,7 +212,7 @@ │ ├── opening_loc: (11,1)-(11,2) = "{" │ └── closing_loc: (11,15)-(11,16) = "}" ├── @ CallNode (location: (13,0)-(13,13)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -205,11 +222,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (13,1)-(13,13)) + │ ├── flags: ∅ │ ├── locals: [:s, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (13,3)-(13,11)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (13,4)-(13,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: @@ -234,7 +254,7 @@ │ ├── opening_loc: (13,1)-(13,2) = "{" │ └── closing_loc: (13,12)-(13,13) = "}" ├── @ CallNode (location: (15,0)-(15,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -244,11 +264,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (15,1)-(15,9)) + │ ├── flags: ∅ │ ├── locals: [:s] │ ├── parameters: │ │ @ BlockParametersNode (location: (15,3)-(15,7)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (15,4)-(15,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: @@ -268,7 +291,7 @@ │ ├── opening_loc: (15,1)-(15,2) = "{" │ └── closing_loc: (15,8)-(15,9) = "}" ├── @ CallNode (location: (17,0)-(17,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -278,11 +301,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (17,1)-(17,8)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: │ │ @ BlockParametersNode (location: (17,3)-(17,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (17,4)-(17,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: @@ -302,7 +328,7 @@ │ ├── opening_loc: (17,1)-(17,2) = "{" │ └── closing_loc: (17,7)-(17,8) = "}" ├── @ CallNode (location: (19,0)-(21,3)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -312,9 +338,11 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (19,1)-(21,3)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (19,3)-(21,1)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 1) │ │ │ └── @ BlockLocalVariableNode (location: (20,0)-(20,1)) @@ -326,7 +354,7 @@ │ ├── opening_loc: (19,1)-(19,2) = "{" │ └── closing_loc: (21,2)-(21,3) = "}" ├── @ CallNode (location: (23,0)-(23,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -336,9 +364,11 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (23,1)-(23,9)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (23,3)-(23,7)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 1) │ │ │ └── @ BlockLocalVariableNode (location: (23,5)-(23,6)) @@ -350,7 +380,7 @@ │ ├── opening_loc: (23,1)-(23,2) = "{" │ └── closing_loc: (23,8)-(23,9) = "}" ├── @ CallNode (location: (25,0)-(25,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -360,11 +390,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (25,1)-(25,12)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (25,3)-(25,10)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (25,4)-(25,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (25,4)-(25,5)) │ │ │ │ ├── flags: ∅ @@ -387,7 +420,7 @@ │ ├── opening_loc: (25,1)-(25,2) = "{" │ └── closing_loc: (25,11)-(25,12) = "}" ├── @ CallNode (location: (27,0)-(27,15)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -397,11 +430,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (27,1)-(27,15)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (27,3)-(27,13)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (27,4)-(27,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (27,4)-(27,5)) │ │ │ │ ├── flags: ∅ @@ -429,7 +465,7 @@ │ ├── opening_loc: (27,1)-(27,2) = "{" │ └── closing_loc: (27,14)-(27,15) = "}" ├── @ CallNode (location: (29,0)-(29,19)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -439,11 +475,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (29,1)-(29,19)) + │ ├── flags: ∅ │ ├── locals: [:a, :r, :p, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (29,3)-(29,17)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (29,4)-(29,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (29,4)-(29,5)) │ │ │ │ ├── flags: ∅ @@ -474,7 +513,7 @@ │ ├── opening_loc: (29,1)-(29,2) = "{" │ └── closing_loc: (29,18)-(29,19) = "}" ├── @ CallNode (location: (31,0)-(31,16)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -484,11 +523,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (31,1)-(31,16)) + │ ├── flags: ∅ │ ├── locals: [:a, :s, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (31,3)-(31,14)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (31,4)-(31,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (31,4)-(31,5)) │ │ │ │ ├── flags: ∅ @@ -516,7 +558,7 @@ │ ├── opening_loc: (31,1)-(31,2) = "{" │ └── closing_loc: (31,15)-(31,16) = "}" ├── @ CallNode (location: (33,0)-(33,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -526,11 +568,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (33,1)-(33,12)) + │ ├── flags: ∅ │ ├── locals: [:a, :s] │ ├── parameters: │ │ @ BlockParametersNode (location: (33,3)-(33,10)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (33,4)-(33,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (33,4)-(33,5)) │ │ │ │ ├── flags: ∅ @@ -553,7 +598,7 @@ │ ├── opening_loc: (33,1)-(33,2) = "{" │ └── closing_loc: (33,11)-(33,12) = "}" ├── @ CallNode (location: (35,0)-(35,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -563,11 +608,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (35,1)-(35,11)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (35,3)-(35,9)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (35,4)-(35,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (35,4)-(35,5)) │ │ │ │ ├── flags: ∅ @@ -590,7 +638,7 @@ │ ├── opening_loc: (35,1)-(35,2) = "{" │ └── closing_loc: (35,10)-(35,11) = "}" ├── @ CallNode (location: (37,0)-(37,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -600,11 +648,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (37,1)-(37,12)) + │ ├── flags: ∅ │ ├── locals: [:a, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (37,3)-(37,10)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (37,4)-(37,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (37,4)-(37,5)) │ │ │ │ │ ├── flags: ∅ @@ -615,6 +666,7 @@ │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: │ │ │ │ @ ImplicitRestNode (location: (37,8)-(37,9)) + │ │ │ │ └── flags: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) │ │ │ ├── keyword_rest: ∅ @@ -626,7 +678,7 @@ │ ├── opening_loc: (37,1)-(37,2) = "{" │ └── closing_loc: (37,11)-(37,12) = "}" ├── @ CallNode (location: (39,0)-(39,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -636,11 +688,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (39,1)-(39,11)) + │ ├── flags: ∅ │ ├── locals: [:a, :c] │ ├── parameters: │ │ @ BlockParametersNode (location: (39,3)-(39,9)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (39,4)-(39,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 2) │ │ │ │ ├── @ RequiredParameterNode (location: (39,4)-(39,5)) │ │ │ │ │ ├── flags: ∅ @@ -661,7 +716,7 @@ │ ├── opening_loc: (39,1)-(39,2) = "{" │ └── closing_loc: (39,10)-(39,11) = "}" ├── @ CallNode (location: (41,0)-(41,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -671,11 +726,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (41,1)-(41,17)) + │ ├── flags: ∅ │ ├── locals: [:a, :o, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (41,3)-(41,15)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (41,4)-(41,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (41,4)-(41,5)) │ │ │ │ ├── flags: ∅ @@ -688,7 +746,7 @@ │ │ │ │ ├── operator_loc: (41,8)-(41,9) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (41,9)-(41,10)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) @@ -707,7 +765,7 @@ │ ├── opening_loc: (41,1)-(41,2) = "{" │ └── closing_loc: (41,16)-(41,17) = "}" ├── @ CallNode (location: (43,0)-(43,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -717,11 +775,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (43,1)-(43,24)) + │ ├── flags: ∅ │ ├── locals: [:a, :o, :r, :p, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (43,3)-(43,22)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (43,4)-(43,21)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (43,4)-(43,5)) │ │ │ │ ├── flags: ∅ @@ -734,7 +795,7 @@ │ │ │ │ ├── operator_loc: (43,8)-(43,9) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (43,9)-(43,10)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: │ │ │ │ @ RestParameterNode (location: (43,12)-(43,14)) @@ -761,7 +822,7 @@ │ ├── opening_loc: (43,1)-(43,2) = "{" │ └── closing_loc: (43,23)-(43,24) = "}" ├── @ CallNode (location: (45,0)-(45,27)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -771,11 +832,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (45,1)-(45,27)) + │ ├── flags: ∅ │ ├── locals: [:a, :o, :o1, :r, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (45,3)-(45,25)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (45,4)-(45,24)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (45,4)-(45,5)) │ │ │ │ ├── flags: ∅ @@ -788,7 +852,7 @@ │ │ │ │ │ ├── operator_loc: (45,8)-(45,9) = "=" │ │ │ │ │ └── value: │ │ │ │ │ @ IntegerNode (location: (45,9)-(45,10)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── @ OptionalParameterNode (location: (45,12)-(45,16)) │ │ │ │ ├── flags: ∅ @@ -797,7 +861,7 @@ │ │ │ │ ├── operator_loc: (45,14)-(45,15) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (45,15)-(45,16)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── rest: │ │ │ │ @ RestParameterNode (location: (45,18)-(45,20)) @@ -821,7 +885,7 @@ │ ├── opening_loc: (45,1)-(45,2) = "{" │ └── closing_loc: (45,26)-(45,27) = "}" ├── @ CallNode (location: (47,0)-(47,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -831,11 +895,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (47,1)-(47,20)) + │ ├── flags: ∅ │ ├── locals: [:a, :o, :p, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (47,3)-(47,18)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (47,4)-(47,17)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (47,4)-(47,5)) │ │ │ │ ├── flags: ∅ @@ -848,7 +915,7 @@ │ │ │ │ ├── operator_loc: (47,8)-(47,9) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (47,9)-(47,10)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 1) @@ -870,7 +937,7 @@ │ ├── opening_loc: (47,1)-(47,2) = "{" │ └── closing_loc: (47,19)-(47,20) = "}" ├── @ CallNode (location: (49,0)-(49,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -880,11 +947,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (49,1)-(49,9)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (49,3)-(49,7)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (49,4)-(49,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (49,4)-(49,5)) │ │ │ │ ├── flags: ∅ @@ -892,6 +962,7 @@ │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: │ │ │ │ @ ImplicitRestNode (location: (49,5)-(49,6)) + │ │ │ │ └── flags: ∅ │ │ │ ├── posts: (length: 0) │ │ │ ├── keywords: (length: 0) │ │ │ ├── keyword_rest: ∅ @@ -903,7 +974,7 @@ │ ├── opening_loc: (49,1)-(49,2) = "{" │ └── closing_loc: (49,8)-(49,9) = "}" ├── @ CallNode (location: (51,0)-(51,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -913,11 +984,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (51,1)-(51,8)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (51,3)-(51,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (51,4)-(51,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (51,4)-(51,5)) │ │ │ │ ├── flags: ∅ @@ -935,7 +1009,7 @@ │ ├── opening_loc: (51,1)-(51,2) = "{" │ └── closing_loc: (51,7)-(51,8) = "}" ├── @ CallNode (location: (53,0)-(53,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -945,11 +1019,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (53,1)-(53,8)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (53,3)-(53,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (53,4)-(53,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (53,4)-(53,5)) │ │ │ │ ├── flags: ∅ @@ -967,7 +1044,7 @@ │ ├── opening_loc: (53,1)-(53,2) = "{" │ └── closing_loc: (53,7)-(53,8) = "}" ├── @ CallNode (location: (55,0)-(55,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -977,11 +1054,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (55,1)-(55,8)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── parameters: │ │ @ BlockParametersNode (location: (55,3)-(55,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (55,4)-(55,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (55,4)-(55,5)) │ │ │ │ ├── flags: ∅ @@ -999,7 +1079,7 @@ │ ├── opening_loc: (55,1)-(55,2) = "{" │ └── closing_loc: (55,7)-(55,8) = "}" ├── @ CallNode (location: (57,0)-(57,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1009,11 +1089,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (57,1)-(57,17)) + │ ├── flags: ∅ │ ├── locals: [:foo, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (57,3)-(57,15)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (57,4)-(57,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -1025,7 +1108,7 @@ │ │ │ │ ├── name_loc: (57,4)-(57,8) = "foo:" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (57,9)-(57,10)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── keyword_rest: ∅ │ │ │ └── block: @@ -1041,7 +1124,7 @@ │ ├── opening_loc: (57,1)-(57,2) = "{" │ └── closing_loc: (57,16)-(57,17) = "}" ├── @ CallNode (location: (59,0)-(59,32)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1051,11 +1134,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (59,1)-(59,32)) + │ ├── flags: ∅ │ ├── locals: [:foo, :bar, :baz, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (59,3)-(59,30)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (59,4)-(59,29)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -1067,7 +1153,7 @@ │ │ │ │ │ ├── name_loc: (59,4)-(59,8) = "foo:" │ │ │ │ │ └── value: │ │ │ │ │ @ IntegerNode (location: (59,9)-(59,10)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ └── value: 1 │ │ │ │ └── @ OptionalKeywordParameterNode (location: (59,12)-(59,18)) │ │ │ │ ├── flags: ∅ @@ -1075,7 +1161,7 @@ │ │ │ │ ├── name_loc: (59,12)-(59,16) = "bar:" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (59,17)-(59,18)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 2 │ │ │ ├── keyword_rest: │ │ │ │ @ KeywordRestParameterNode (location: (59,20)-(59,25)) @@ -1096,7 +1182,7 @@ │ ├── opening_loc: (59,1)-(59,2) = "{" │ └── closing_loc: (59,31)-(59,32) = "}" ├── @ CallNode (location: (61,0)-(61,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1106,11 +1192,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (61,1)-(61,11)) + │ ├── flags: ∅ │ ├── locals: [:foo] │ ├── parameters: │ │ @ BlockParametersNode (location: (61,3)-(61,9)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (61,4)-(61,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -1129,7 +1218,7 @@ │ ├── opening_loc: (61,1)-(61,2) = "{" │ └── closing_loc: (61,10)-(61,11) = "}" ├── @ CallNode (location: (63,0)-(63,14)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1139,11 +1228,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (63,1)-(63,14)) + │ ├── flags: ∅ │ ├── locals: [:o, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (63,3)-(63,12)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (63,4)-(63,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 1) │ │ │ │ └── @ OptionalParameterNode (location: (63,4)-(63,7)) @@ -1153,7 +1245,7 @@ │ │ │ │ ├── operator_loc: (63,5)-(63,6) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (63,6)-(63,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 0) @@ -1172,7 +1264,7 @@ │ ├── opening_loc: (63,1)-(63,2) = "{" │ └── closing_loc: (63,13)-(63,14) = "}" ├── @ CallNode (location: (65,0)-(65,18)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1182,11 +1274,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (65,1)-(65,18)) + │ ├── flags: ∅ │ ├── locals: [:o, :r, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (65,3)-(65,16)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (65,4)-(65,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 1) │ │ │ │ └── @ OptionalParameterNode (location: (65,4)-(65,7)) @@ -1196,7 +1291,7 @@ │ │ │ │ ├── operator_loc: (65,5)-(65,6) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (65,6)-(65,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: │ │ │ │ @ RestParameterNode (location: (65,9)-(65,11)) @@ -1220,7 +1315,7 @@ │ ├── opening_loc: (65,1)-(65,2) = "{" │ └── closing_loc: (65,17)-(65,18) = "}" ├── @ CallNode (location: (67,0)-(67,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1230,11 +1325,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (67,1)-(67,21)) + │ ├── flags: ∅ │ ├── locals: [:o, :r, :p, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (67,3)-(67,19)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (67,4)-(67,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 1) │ │ │ │ └── @ OptionalParameterNode (location: (67,4)-(67,7)) @@ -1244,7 +1342,7 @@ │ │ │ │ ├── operator_loc: (67,5)-(67,6) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (67,6)-(67,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: │ │ │ │ @ RestParameterNode (location: (67,9)-(67,11)) @@ -1271,7 +1369,7 @@ │ ├── opening_loc: (67,1)-(67,2) = "{" │ └── closing_loc: (67,20)-(67,21) = "}" ├── @ CallNode (location: (69,0)-(69,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -1281,11 +1379,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (69,1)-(69,17)) + │ ├── flags: ∅ │ ├── locals: [:o, :p, :b] │ ├── parameters: │ │ @ BlockParametersNode (location: (69,3)-(69,15)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (69,4)-(69,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 1) │ │ │ │ └── @ OptionalParameterNode (location: (69,4)-(69,7)) @@ -1295,7 +1396,7 @@ │ │ │ │ ├── operator_loc: (69,5)-(69,6) = "=" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (69,6)-(69,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── rest: ∅ │ │ │ ├── posts: (length: 1) @@ -1317,7 +1418,7 @@ │ ├── opening_loc: (69,1)-(69,2) = "{" │ └── closing_loc: (69,16)-(69,17) = "}" └── @ CallNode (location: (71,0)-(71,7)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -1327,9 +1428,11 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (71,1)-(71,7)) + ├── flags: ∅ ├── locals: [] ├── parameters: │ @ BlockParametersNode (location: (71,3)-(71,5)) + │ ├── flags: ∅ │ ├── parameters: ∅ │ ├── locals: (length: 0) │ ├── opening_loc: (71,3)-(71,4) = "|" diff --git a/test/prism/snapshots/whitequark/bug_435.txt b/test/prism/snapshots/whitequark/bug_435.txt index 42f9a49c5c..2f497be046 100644 --- a/test/prism/snapshots/whitequark/bug_435.txt +++ b/test/prism/snapshots/whitequark/bug_435.txt @@ -1,26 +1,33 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 1) │ └── @ EmbeddedStatementsNode (location: (1,1)-(1,13)) + │ ├── flags: ∅ │ ├── opening_loc: (1,1)-(1,3) = "\#{" │ ├── statements: │ │ @ StatementsNode (location: (1,3)-(1,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LambdaNode (location: (1,3)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── locals: [:foo] │ │ ├── operator_loc: (1,3)-(1,5) = "->" │ │ ├── opening_loc: (1,10)-(1,11) = "{" │ │ ├── closing_loc: (1,11)-(1,12) = "}" │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (1,6)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (1,6)-(1,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 1) │ │ │ │ │ └── @ RequiredParameterNode (location: (1,6)-(1,9)) │ │ │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/bug_447.txt b/test/prism/snapshots/whitequark/bug_447.txt index 7291d01175..6c8644d462 100644 --- a/test/prism/snapshots/whitequark/bug_447.txt +++ b/test/prism/snapshots/whitequark/bug_447.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,14)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -15,20 +17,21 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ArrayNode (location: (1,2)-(1,4)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 0) │ │ ├── opening_loc: (1,2)-(1,3) = "[" │ │ └── closing_loc: (1,3)-(1,4) = "]" │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,5)-(1,11)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,5)-(1,7) = "do" │ └── closing_loc: (1,8)-(1,11) = "end" └── @ CallNode (location: (3,0)-(3,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -39,16 +42,17 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ ArrayNode (location: (3,2)-(3,4)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 0) │ │ ├── opening_loc: (3,2)-(3,3) = "[" │ │ └── closing_loc: (3,3)-(3,4) = "]" │ └── @ IntegerNode (location: (3,6)-(3,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: @ BlockNode (location: (3,8)-(3,14)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_452.txt b/test/prism/snapshots/whitequark/bug_452.txt index e1ea52fbd1..f55b54b89a 100644 --- a/test/prism/snapshots/whitequark/bug_452.txt +++ b/test/prism/snapshots/whitequark/bug_452.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,37)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,37)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :td @@ -18,11 +20,13 @@ │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ ParenthesesNode (location: (1,3)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (1,4)-(1,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (1,4)-(1,9)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 1500 │ │ │ ├── opening_loc: (1,3)-(1,4) = "(" │ │ │ └── closing_loc: (1,9)-(1,10) = ")" @@ -36,7 +40,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (1,23)-(1,37)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,23)-(1,25)) │ ├── flags: variable_call, ignore_visibility @@ -56,6 +60,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,30)-(1,37)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_466.txt b/test/prism/snapshots/whitequark/bug_466.txt index 4167c223f2..8556ff6d24 100644 --- a/test/prism/snapshots/whitequark/bug_466.txt +++ b/test/prism/snapshots/whitequark/bug_466.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,27)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,27)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,27)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -19,22 +21,26 @@ │ ├── opening_loc: (1,4)-(1,5) = "\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (1,5)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,5)-(1,7) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,7)-(1,17)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,7)-(1,17)) │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ ParenthesesNode (location: (1,7)-(1,12)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── body: │ │ │ │ │ @ StatementsNode (location: (1,8)-(1,11)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (1,8)-(1,11)) - │ │ │ │ │ ├── flags: ∅ + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── receiver: │ │ │ │ │ │ @ IntegerNode (location: (1,8)-(1,9)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 1 │ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ │ ├── name: :+ @@ -45,7 +51,7 @@ │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── arguments: (length: 1) │ │ │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ │ │ └── value: 1 │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: ∅ @@ -63,6 +69,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,20)-(1,27)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_473.txt b/test/prism/snapshots/whitequark/bug_473.txt index 028b6a517c..fa4c23b8a5 100644 --- a/test/prism/snapshots/whitequark/bug_473.txt +++ b/test/prism/snapshots/whitequark/bug_473.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -19,12 +21,14 @@ │ ├── opening_loc: (1,2)-(1,3) = "\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (1,3)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,5)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ ArrayNode (location: (1,5)-(1,7)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: static_literal │ │ │ ├── elements: (length: 0) │ │ │ ├── opening_loc: (1,5)-(1,6) = "[" │ │ │ └── closing_loc: (1,6)-(1,7) = "]" diff --git a/test/prism/snapshots/whitequark/bug_480.txt b/test/prism/snapshots/whitequark/bug_480.txt index ed6ba40795..0ddcbae41a 100644 --- a/test/prism/snapshots/whitequark/bug_480.txt +++ b/test/prism/snapshots/whitequark/bug_480.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -19,15 +21,19 @@ │ ├── opening_loc: (1,2)-(1,3) = "\"" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (1,3)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,3)-(1,5) = "\#{" │ │ │ ├── statements: ∅ │ │ │ └── closing_loc: (1,5)-(1,6) = "}" │ │ └── @ EmbeddedStatementsNode (location: (1,6)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,6)-(1,8) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,8)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ ParenthesesNode (location: (1,8)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: ∅ │ │ │ ├── opening_loc: (1,8)-(1,9) = "(" │ │ │ └── closing_loc: (1,9)-(1,10) = ")" diff --git a/test/prism/snapshots/whitequark/bug_481.txt b/test/prism/snapshots/whitequark/bug_481.txt index 0b093d483c..32879a82b0 100644 --- a/test/prism/snapshots/whitequark/bug_481.txt +++ b/test/prism/snapshots/whitequark/bug_481.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,28)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,14)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -15,6 +17,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ DefNode (location: (1,2)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ ├── name_loc: (1,6)-(1,7) = "x" │ │ ├── receiver: ∅ @@ -30,10 +33,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (1,16)-(1,28)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ IntegerNode (location: (1,16)-(1,17)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── call_operator_loc: (1,17)-(1,18) = "." ├── name: :tap @@ -43,6 +46,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,22)-(1,28)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_ascii_8bit_in_literal.txt b/test/prism/snapshots/whitequark/bug_ascii_8bit_in_literal.txt index 7aa8694f66..4c90854f55 100644 --- a/test/prism/snapshots/whitequark/bug_ascii_8bit_in_literal.txt +++ b/test/prism/snapshots/whitequark/bug_ascii_8bit_in_literal.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (2,9)-(2,75)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (2,9)-(2,75)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (2,9)-(2,75)) - ├── flags: forced_utf8_encoding + ├── flags: newline, forced_utf8_encoding ├── opening_loc: (2,9)-(2,10) = "\"" ├── content_loc: (2,10)-(2,74) = "\\xD0\\xBF\\xD1\\x80\\xD0\\xBE\\xD0\\xB2\\xD0\\xB5\\xD1\\x80\\xD0\\xBA\\xD0\\xB0" ├── closing_loc: (2,74)-(2,75) = "\"" diff --git a/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt b/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt index 50c988fa1f..6a581ca6cc 100644 --- a/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt +++ b/test/prism/snapshots/whitequark/bug_cmd_string_lookahead.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :desc @@ -23,6 +25,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,11)-(1,17)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_cmdarg.txt b/test/prism/snapshots/whitequark/bug_cmdarg.txt index 32d05746a7..efdb375dc8 100644 --- a/test/prism/snapshots/whitequark/bug_cmdarg.txt +++ b/test/prism/snapshots/whitequark/bug_cmdarg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,26)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,26)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,15)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :assert @@ -18,20 +20,22 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,7)-(1,15)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,7)-(1,10)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,7)-(1,9) = "do" │ │ │ ├── closing_loc: (1,9)-(1,10) = ":" │ │ │ └── unescaped: "do" │ │ ├── value: │ │ │ @ TrueNode (location: (1,11)-(1,15)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,11)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :assert @@ -54,7 +58,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,26)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -68,15 +72,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (5,2)-(5,26)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (5,2)-(5,4)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (5,2)-(5,3) = "x" │ │ ├── closing_loc: (5,3)-(5,4) = ":" │ │ └── unescaped: "x" │ ├── value: │ │ @ LambdaNode (location: (5,5)-(5,26)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── operator_loc: (5,5)-(5,7) = "->" │ │ ├── opening_loc: (5,8)-(5,10) = "do" @@ -84,9 +90,10 @@ │ │ ├── parameters: ∅ │ │ └── body: │ │ @ StatementsNode (location: (5,11)-(5,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,11)-(5,22)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -96,6 +103,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (5,16)-(5,22)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_def_no_paren_eql_begin.txt b/test/prism/snapshots/whitequark/bug_def_no_paren_eql_begin.txt index 1b45d0132b..eab5d4484a 100644 --- a/test/prism/snapshots/whitequark/bug_def_no_paren_eql_begin.txt +++ b/test/prism/snapshots/whitequark/bug_def_no_paren_eql_begin.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(4,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(4,3)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(4,3)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ diff --git a/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt b/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt index 9b95adda35..770a175c2e 100644 --- a/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt +++ b/test/prism/snapshots/whitequark/bug_do_block_in_call_args.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,33)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,33)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,33)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :bar @@ -15,17 +17,20 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ DefNode (location: (1,4)-(1,33)) + │ ├── flags: ∅ │ ├── name: :foo │ ├── name_loc: (1,8)-(1,11) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,13)-(1,29)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,13)-(1,29)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: │ │ │ @ SelfNode (location: (1,13)-(1,17)) + │ │ │ └── flags: ∅ │ │ ├── call_operator_loc: (1,17)-(1,18) = "." │ │ ├── name: :each │ │ ├── message_loc: (1,18)-(1,22) = "each" @@ -34,6 +39,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (1,23)-(1,29)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt b/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt index 3946bc1a4a..ff5af609e2 100644 --- a/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt +++ b/test/prism/snapshots/whitequark/bug_do_block_in_cmdarg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,17)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :tap @@ -15,11 +17,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,4)-(1,17)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,5)-(1,16)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,5)-(1,16)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :proc @@ -29,6 +33,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (1,10)-(1,16)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt b/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt index 183d465439..0242d5e661 100644 --- a/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt +++ b/test/prism/snapshots/whitequark/bug_do_block_in_hash_brace.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(9,52)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(9,52)) + ├── flags: ∅ └── body: (length: 5) ├── @ CallNode (location: (1,0)-(1,42)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -15,18 +17,20 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (1,2)-(1,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,2)-(1,3) = ":" │ │ │ ├── value_loc: (1,3)-(1,6) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ HashNode (location: (1,8)-(1,42)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,8)-(1,9) = "{" │ │ ├── elements: (length: 2) │ │ │ ├── @ AssocNode (location: (1,9)-(1,25)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (1,9)-(1,13)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (1,9)-(1,10) = "\"" │ │ │ │ │ ├── value_loc: (1,10)-(1,11) = "a" │ │ │ │ │ ├── closing_loc: (1,11)-(1,13) = "\":" @@ -43,6 +47,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (1,19)-(1,25)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: ∅ @@ -50,9 +55,10 @@ │ │ │ │ │ └── closing_loc: (1,22)-(1,25) = "end" │ │ │ │ └── operator_loc: ∅ │ │ │ └── @ AssocNode (location: (1,27)-(1,41)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (1,27)-(1,29)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (1,27)-(1,28) = "b" │ │ │ │ ├── closing_loc: (1,28)-(1,29) = ":" @@ -69,6 +75,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (1,35)-(1,41)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: ∅ @@ -79,7 +86,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,40)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -90,15 +97,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (3,2)-(3,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (3,2)-(3,3) = ":" │ │ │ ├── value_loc: (3,3)-(3,6) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ HashNode (location: (3,8)-(3,40)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (3,8)-(3,9) = "{" │ │ ├── elements: (length: 2) │ │ │ ├── @ AssocSplatNode (location: (3,9)-(3,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── value: │ │ │ │ │ @ CallNode (location: (3,12)-(3,23)) │ │ │ │ │ ├── flags: ignore_visibility @@ -111,6 +120,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (3,17)-(3,23)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: ∅ @@ -118,9 +128,10 @@ │ │ │ │ │ └── closing_loc: (3,20)-(3,23) = "end" │ │ │ │ └── operator_loc: (3,9)-(3,11) = "**" │ │ │ └── @ AssocNode (location: (3,25)-(3,39)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (3,25)-(3,27)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (3,25)-(3,26) = "b" │ │ │ │ ├── closing_loc: (3,26)-(3,27) = ":" @@ -137,6 +148,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (3,33)-(3,39)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: ∅ @@ -147,7 +159,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,43)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -158,18 +170,20 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (5,2)-(5,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (5,2)-(5,3) = ":" │ │ │ ├── value_loc: (5,3)-(5,6) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ HashNode (location: (5,8)-(5,43)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (5,8)-(5,9) = "{" │ │ ├── elements: (length: 2) │ │ │ ├── @ AssocNode (location: (5,9)-(5,26)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (5,9)-(5,11)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (5,9)-(5,10) = ":" │ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "a" │ │ │ │ │ ├── closing_loc: ∅ @@ -186,6 +200,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (5,20)-(5,26)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: ∅ @@ -193,9 +208,10 @@ │ │ │ │ │ └── closing_loc: (5,23)-(5,26) = "end" │ │ │ │ └── operator_loc: (5,12)-(5,14) = "=>" │ │ │ └── @ AssocNode (location: (5,28)-(5,42)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (5,28)-(5,30)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (5,28)-(5,29) = "b" │ │ │ │ ├── closing_loc: (5,29)-(5,30) = ":" @@ -212,6 +228,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (5,36)-(5,42)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: ∅ @@ -222,7 +239,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,40)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -233,18 +250,20 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ SymbolNode (location: (7,2)-(7,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (7,2)-(7,3) = ":" │ │ │ ├── value_loc: (7,3)-(7,6) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ HashNode (location: (7,8)-(7,40)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (7,8)-(7,9) = "{" │ │ ├── elements: (length: 2) │ │ │ ├── @ AssocNode (location: (7,9)-(7,23)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (7,9)-(7,11)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ ├── value_loc: (7,9)-(7,10) = "a" │ │ │ │ │ ├── closing_loc: (7,10)-(7,11) = ":" @@ -261,6 +280,7 @@ │ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ │ └── block: │ │ │ │ │ @ BlockNode (location: (7,17)-(7,23)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [] │ │ │ │ │ ├── parameters: ∅ │ │ │ │ │ ├── body: ∅ @@ -268,9 +288,10 @@ │ │ │ │ │ └── closing_loc: (7,20)-(7,23) = "end" │ │ │ │ └── operator_loc: ∅ │ │ │ └── @ AssocNode (location: (7,25)-(7,39)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (7,25)-(7,27)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (7,25)-(7,26) = "b" │ │ │ │ ├── closing_loc: (7,26)-(7,27) = ":" @@ -287,6 +308,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (7,33)-(7,39)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: ∅ @@ -297,7 +319,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (9,0)-(9,52)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -308,15 +330,17 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ SymbolNode (location: (9,2)-(9,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (9,2)-(9,3) = ":" │ │ ├── value_loc: (9,3)-(9,6) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ └── @ HashNode (location: (9,8)-(9,52)) + │ ├── flags: ∅ │ ├── opening_loc: (9,8)-(9,9) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (9,9)-(9,35)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ CallNode (location: (9,9)-(9,20)) │ │ │ │ ├── flags: ignore_visibility @@ -329,6 +353,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (9,14)-(9,20)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: ∅ @@ -346,6 +371,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (9,29)-(9,35)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: ∅ @@ -353,9 +379,10 @@ │ │ │ │ └── closing_loc: (9,32)-(9,35) = "end" │ │ │ └── operator_loc: (9,21)-(9,23) = "=>" │ │ └── @ AssocNode (location: (9,37)-(9,51)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (9,37)-(9,39)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (9,37)-(9,38) = "b" │ │ │ ├── closing_loc: (9,38)-(9,39) = ":" @@ -372,6 +399,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (9,45)-(9,51)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_heredoc_do.txt b/test/prism/snapshots/whitequark/bug_heredoc_do.txt index bf4dd645fb..46e721c46f 100644 --- a/test/prism/snapshots/whitequark/bug_heredoc_do.txt +++ b/test/prism/snapshots/whitequark/bug_heredoc_do.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(3,3)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -23,6 +25,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,11)-(3,3)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/bug_interp_single.txt b/test/prism/snapshots/whitequark/bug_interp_single.txt index 74af8607e0..e231a84ae2 100644 --- a/test/prism/snapshots/whitequark/bug_interp_single.txt +++ b/test/prism/snapshots/whitequark/bug_interp_single.txt @@ -1,36 +1,42 @@ @ ProgramNode (location: (1,0)-(3,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,8)) + ├── flags: ∅ └── body: (length: 2) ├── @ InterpolatedStringNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (1,1)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (1,3)-(1,4)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── closing_loc: (1,4)-(1,5) = "}" │ └── closing_loc: (1,5)-(1,6) = "\"" └── @ ArrayNode (location: (3,0)-(3,8)) - ├── flags: ∅ + ├── flags: newline ├── elements: (length: 1) │ └── @ InterpolatedStringNode (location: (3,3)-(3,7)) │ ├── flags: ∅ │ ├── opening_loc: ∅ │ ├── parts: (length: 1) │ │ └── @ EmbeddedStatementsNode (location: (3,3)-(3,7)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (3,3)-(3,5) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,5)-(3,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (3,5)-(3,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── closing_loc: (3,6)-(3,7) = "}" │ └── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/bug_lambda_leakage.txt b/test/prism/snapshots/whitequark/bug_lambda_leakage.txt index 7178345a22..66e3ebac76 100644 --- a/test/prism/snapshots/whitequark/bug_lambda_leakage.txt +++ b/test/prism/snapshots/whitequark/bug_lambda_leakage.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 2) ├── @ LambdaNode (location: (1,0)-(1,12)) + │ ├── flags: newline │ ├── locals: [:scope] │ ├── operator_loc: (1,0)-(1,2) = "->" │ ├── opening_loc: (1,10)-(1,11) = "{" │ ├── closing_loc: (1,11)-(1,12) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,2)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,3)-(1,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,8)) │ │ │ │ ├── flags: ∅ @@ -27,7 +32,7 @@ │ │ └── closing_loc: (1,8)-(1,9) = ")" │ └── body: ∅ └── @ CallNode (location: (1,14)-(1,19)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :scope diff --git a/test/prism/snapshots/whitequark/bug_regex_verification.txt b/test/prism/snapshots/whitequark/bug_regex_verification.txt index 4464b66e38..bf80a50fb0 100644 --- a/test/prism/snapshots/whitequark/bug_regex_verification.txt +++ b/test/prism/snapshots/whitequark/bug_regex_verification.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,5)) - ├── flags: extended, forced_us_ascii_encoding + ├── flags: newline, static_literal, extended, forced_us_ascii_encoding ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,3) = "#)" ├── closing_loc: (1,3)-(1,5) = "/x" diff --git a/test/prism/snapshots/whitequark/bug_rescue_empty_else.txt b/test/prism/snapshots/whitequark/bug_rescue_empty_else.txt index 52734cc1e9..acf6e006b6 100644 --- a/test/prism/snapshots/whitequark/bug_rescue_empty_else.txt +++ b/test/prism/snapshots/whitequark/bug_rescue_empty_else.txt @@ -1,16 +1,21 @@ @ ProgramNode (location: (1,0)-(1,34)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,34)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,34)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,7)-(1,23)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,7)-(1,13) = "rescue" │ ├── exceptions: (length: 1) │ │ └── @ ConstantReadNode (location: (1,14)-(1,23)) + │ │ ├── flags: ∅ │ │ └── name: :LoadError │ ├── operator_loc: ∅ │ ├── reference: ∅ @@ -18,6 +23,7 @@ │ └── consequent: ∅ ├── else_clause: │ @ ElseNode (location: (1,25)-(1,34)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,25)-(1,29) = "else" │ ├── statements: ∅ │ └── end_keyword_loc: (1,31)-(1,34) = "end" diff --git a/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt b/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt index aa8aa11ccc..5bb335dd8c 100644 --- a/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt +++ b/test/prism/snapshots/whitequark/bug_while_not_parens_do.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ WhileNode (location: (1,0)-(1,23)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (1,0)-(1,5) = "while" ├── closing_loc: (1,20)-(1,23) = "end" ├── predicate: @@ -12,10 +14,13 @@ │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (1,10)-(1,16)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,11)-(1,15)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ TrueNode (location: (1,11)-(1,15)) + │ │ │ └── flags: newline, static_literal │ │ ├── opening_loc: (1,10)-(1,11) = "(" │ │ └── closing_loc: (1,15)-(1,16) = ")" │ ├── call_operator_loc: ∅ diff --git a/test/prism/snapshots/whitequark/case_cond.txt b/test/prism/snapshots/whitequark/case_cond.txt index fbe17eaf8f..38dcf68b13 100644 --- a/test/prism/snapshots/whitequark/case_cond.txt +++ b/test/prism/snapshots/whitequark/case_cond.txt @@ -1,12 +1,16 @@ @ ProgramNode (location: (1,0)-(1,26)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,26)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,26)) + ├── flags: newline ├── predicate: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,6)-(1,21)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,6)-(1,10) = "when" │ ├── conditions: (length: 1) │ │ └── @ CallNode (location: (1,11)-(1,14)) @@ -22,9 +26,10 @@ │ ├── then_keyword_loc: ∅ │ └── statements: │ @ StatementsNode (location: (1,16)-(1,21)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ StringNode (location: (1,16)-(1,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,16)-(1,17) = "'" │ ├── content_loc: (1,17)-(1,20) = "foo" │ ├── closing_loc: (1,20)-(1,21) = "'" diff --git a/test/prism/snapshots/whitequark/case_cond_else.txt b/test/prism/snapshots/whitequark/case_cond_else.txt index b1aff2450e..58a7bc55a3 100644 --- a/test/prism/snapshots/whitequark/case_cond_else.txt +++ b/test/prism/snapshots/whitequark/case_cond_else.txt @@ -1,12 +1,16 @@ @ ProgramNode (location: (1,0)-(1,38)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,38)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,38)) + ├── flags: newline ├── predicate: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,6)-(1,21)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,6)-(1,10) = "when" │ ├── conditions: (length: 1) │ │ └── @ CallNode (location: (1,11)-(1,14)) @@ -22,21 +26,24 @@ │ ├── then_keyword_loc: ∅ │ └── statements: │ @ StatementsNode (location: (1,16)-(1,21)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ StringNode (location: (1,16)-(1,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,16)-(1,17) = "'" │ ├── content_loc: (1,17)-(1,20) = "foo" │ ├── closing_loc: (1,20)-(1,21) = "'" │ └── unescaped: "foo" ├── consequent: │ @ ElseNode (location: (1,23)-(1,38)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,23)-(1,27) = "else" │ ├── statements: │ │ @ StatementsNode (location: (1,28)-(1,33)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ StringNode (location: (1,28)-(1,33)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── opening_loc: (1,28)-(1,29) = "'" │ │ ├── content_loc: (1,29)-(1,32) = "bar" │ │ ├── closing_loc: (1,32)-(1,33) = "'" diff --git a/test/prism/snapshots/whitequark/case_expr.txt b/test/prism/snapshots/whitequark/case_expr.txt index 23054ed132..b7a2fa0106 100644 --- a/test/prism/snapshots/whitequark/case_expr.txt +++ b/test/prism/snapshots/whitequark/case_expr.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,30)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,30)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,30)) + ├── flags: newline ├── predicate: │ @ CallNode (location: (1,5)-(1,8)) │ ├── flags: variable_call, ignore_visibility @@ -17,10 +20,11 @@ │ └── block: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,10)-(1,25)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,10)-(1,14) = "when" │ ├── conditions: (length: 1) │ │ └── @ StringNode (location: (1,15)-(1,20)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (1,15)-(1,16) = "'" │ │ ├── content_loc: (1,16)-(1,19) = "bar" │ │ ├── closing_loc: (1,19)-(1,20) = "'" @@ -28,9 +32,10 @@ │ ├── then_keyword_loc: ∅ │ └── statements: │ @ StatementsNode (location: (1,22)-(1,25)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,22)-(1,25)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/case_expr_else.txt b/test/prism/snapshots/whitequark/case_expr_else.txt index 0624d97c84..8a61e076a3 100644 --- a/test/prism/snapshots/whitequark/case_expr_else.txt +++ b/test/prism/snapshots/whitequark/case_expr_else.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,40)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,40)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,40)) + ├── flags: newline ├── predicate: │ @ CallNode (location: (1,5)-(1,8)) │ ├── flags: variable_call, ignore_visibility @@ -17,10 +20,11 @@ │ └── block: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,10)-(1,25)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,10)-(1,14) = "when" │ ├── conditions: (length: 1) │ │ └── @ StringNode (location: (1,15)-(1,20)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (1,15)-(1,16) = "'" │ │ ├── content_loc: (1,16)-(1,19) = "bar" │ │ ├── closing_loc: (1,19)-(1,20) = "'" @@ -28,9 +32,10 @@ │ ├── then_keyword_loc: ∅ │ └── statements: │ @ StatementsNode (location: (1,22)-(1,25)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,22)-(1,25)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -41,12 +46,14 @@ │ └── block: ∅ ├── consequent: │ @ ElseNode (location: (1,27)-(1,40)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,27)-(1,31) = "else" │ ├── statements: │ │ @ StatementsNode (location: (1,32)-(1,35)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,32)-(1,35)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz diff --git a/test/prism/snapshots/whitequark/casgn_scoped.txt b/test/prism/snapshots/whitequark/casgn_scoped.txt index 42b90be061..03f3b0b25b 100644 --- a/test/prism/snapshots/whitequark/casgn_scoped.txt +++ b/test/prism/snapshots/whitequark/casgn_scoped.txt @@ -1,13 +1,18 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathWriteNode (location: (1,0)-(1,13)) + ├── flags: newline ├── target: │ @ ConstantPathNode (location: (1,0)-(1,8)) + │ ├── flags: ∅ │ ├── parent: │ │ @ ConstantReadNode (location: (1,0)-(1,3)) + │ │ ├── flags: ∅ │ │ └── name: :Bar │ ├── name: :Foo │ ├── delimiter_loc: (1,3)-(1,5) = "::" @@ -15,5 +20,5 @@ ├── operator_loc: (1,9)-(1,10) = "=" └── value: @ IntegerNode (location: (1,11)-(1,13)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 10 diff --git a/test/prism/snapshots/whitequark/casgn_toplevel.txt b/test/prism/snapshots/whitequark/casgn_toplevel.txt index 070d90a46b..dbc344a7af 100644 --- a/test/prism/snapshots/whitequark/casgn_toplevel.txt +++ b/test/prism/snapshots/whitequark/casgn_toplevel.txt @@ -1,11 +1,15 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathWriteNode (location: (1,0)-(1,10)) + ├── flags: newline ├── target: │ @ ConstantPathNode (location: (1,0)-(1,5)) + │ ├── flags: ∅ │ ├── parent: ∅ │ ├── name: :Foo │ ├── delimiter_loc: (1,0)-(1,2) = "::" @@ -13,5 +17,5 @@ ├── operator_loc: (1,6)-(1,7) = "=" └── value: @ IntegerNode (location: (1,8)-(1,10)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 10 diff --git a/test/prism/snapshots/whitequark/casgn_unscoped.txt b/test/prism/snapshots/whitequark/casgn_unscoped.txt index f535cafdc6..19b11b1b43 100644 --- a/test/prism/snapshots/whitequark/casgn_unscoped.txt +++ b/test/prism/snapshots/whitequark/casgn_unscoped.txt @@ -1,13 +1,16 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantWriteNode (location: (1,0)-(1,8)) + ├── flags: newline ├── name: :Foo ├── name_loc: (1,0)-(1,3) = "Foo" ├── value: │ @ IntegerNode (location: (1,6)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 10 └── operator_loc: (1,4)-(1,5) = "=" diff --git a/test/prism/snapshots/whitequark/character.txt b/test/prism/snapshots/whitequark/character.txt index b70f05b544..718ba317fb 100644 --- a/test/prism/snapshots/whitequark/character.txt +++ b/test/prism/snapshots/whitequark/character.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,2)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,0)-(1,2)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "?" ├── content_loc: (1,1)-(1,2) = "a" ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/class.txt b/test/prism/snapshots/whitequark/class.txt index e38bec6c47..53de7eb6d6 100644 --- a/test/prism/snapshots/whitequark/class.txt +++ b/test/prism/snapshots/whitequark/class.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(3,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,14)) + ├── flags: ∅ └── body: (length: 2) ├── @ ClassNode (location: (1,0)-(1,13)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (1,0)-(1,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (1,6)-(1,9)) + │ │ ├── flags: ∅ │ │ └── name: :Foo │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ @@ -15,10 +19,12 @@ │ ├── end_keyword_loc: (1,10)-(1,13) = "end" │ └── name: :Foo └── @ ClassNode (location: (3,0)-(3,14)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (3,0)-(3,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (3,6)-(3,9)) + │ ├── flags: ∅ │ └── name: :Foo ├── inheritance_operator_loc: ∅ ├── superclass: ∅ diff --git a/test/prism/snapshots/whitequark/class_super.txt b/test/prism/snapshots/whitequark/class_super.txt index ea8bbd70d9..dd9b1d5fe8 100644 --- a/test/prism/snapshots/whitequark/class_super.txt +++ b/test/prism/snapshots/whitequark/class_super.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ ClassNode (location: (1,0)-(1,20)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (1,0)-(1,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (1,6)-(1,9)) + │ ├── flags: ∅ │ └── name: :Foo ├── inheritance_operator_loc: (1,10)-(1,11) = "<" ├── superclass: │ @ ConstantReadNode (location: (1,12)-(1,15)) + │ ├── flags: ∅ │ └── name: :Bar ├── body: ∅ ├── end_keyword_loc: (1,17)-(1,20) = "end" diff --git a/test/prism/snapshots/whitequark/class_super_label.txt b/test/prism/snapshots/whitequark/class_super_label.txt index c873ea0c12..590f971930 100644 --- a/test/prism/snapshots/whitequark/class_super_label.txt +++ b/test/prism/snapshots/whitequark/class_super_label.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ ClassNode (location: (1,0)-(1,20)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (1,0)-(1,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (1,6)-(1,9)) + │ ├── flags: ∅ │ └── name: :Foo ├── inheritance_operator_loc: (1,10)-(1,11) = "<" ├── superclass: @@ -23,7 +27,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SymbolNode (location: (1,13)-(1,15)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,13)-(1,14) = ":" │ │ ├── value_loc: (1,14)-(1,15) = "b" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt b/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt index e33f798ef5..0f3e727cb0 100644 --- a/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt +++ b/test/prism/snapshots/whitequark/comments_before_leading_dot__27.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(18,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(18,4)) + ├── flags: ∅ └── body: (length: 4) ├── @ CallNode (location: (1,0)-(3,5)) - │ ├── flags: safe_navigation + │ ├── flags: newline, safe_navigation │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -24,7 +26,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (6,0)-(8,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (6,0)-(6,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -44,7 +46,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (11,0)-(13,5)) - │ ├── flags: safe_navigation + │ ├── flags: newline, safe_navigation │ ├── receiver: │ │ @ CallNode (location: (11,0)-(11,1)) │ │ ├── flags: variable_call, ignore_visibility @@ -64,7 +66,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (16,0)-(18,4)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (16,0)-(16,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/complex.txt b/test/prism/snapshots/whitequark/complex.txt index bc748db09b..51725453e3 100644 --- a/test/prism/snapshots/whitequark/complex.txt +++ b/test/prism/snapshots/whitequark/complex.txt @@ -1,26 +1,33 @@ @ ProgramNode (location: (1,0)-(7,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,4)) + ├── flags: ∅ └── body: (length: 4) ├── @ ImaginaryNode (location: (1,0)-(1,5)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ FloatNode (location: (1,0)-(1,4)) + │ ├── flags: static_literal │ └── value: 42.1 ├── @ ImaginaryNode (location: (3,0)-(3,6)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ RationalNode (location: (3,0)-(3,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ ├── numerator: 421 │ └── denominator: 10 ├── @ ImaginaryNode (location: (5,0)-(5,3)) + │ ├── flags: newline, static_literal │ └── numeric: │ @ IntegerNode (location: (5,0)-(5,2)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 42 └── @ ImaginaryNode (location: (7,0)-(7,4)) + ├── flags: newline, static_literal └── numeric: @ RationalNode (location: (7,0)-(7,3)) - ├── flags: decimal + ├── flags: static_literal, decimal ├── numerator: 42 └── denominator: 1 diff --git a/test/prism/snapshots/whitequark/cond_begin.txt b/test/prism/snapshots/whitequark/cond_begin.txt index e349c198a5..692e4aba46 100644 --- a/test/prism/snapshots/whitequark/cond_begin.txt +++ b/test/prism/snapshots/whitequark/cond_begin.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,18)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ ParenthesesNode (location: (1,3)-(1,8)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,4)-(1,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,4)-(1,7)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -25,9 +30,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,10)-(1,13)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,10)-(1,13)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo diff --git a/test/prism/snapshots/whitequark/cond_begin_masgn.txt b/test/prism/snapshots/whitequark/cond_begin_masgn.txt index b4e6d8682c..fa81cd977f 100644 --- a/test/prism/snapshots/whitequark/cond_begin_masgn.txt +++ b/test/prism/snapshots/whitequark/cond_begin_masgn.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,25)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,25)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,25)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ ParenthesesNode (location: (1,3)-(1,20)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,4)-(1,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 2) │ │ ├── @ CallNode (location: (1,4)-(1,7)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -21,11 +26,14 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ MultiWriteNode (location: (1,9)-(1,19)) + │ │ ├── flags: newline │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (1,9)-(1,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (1,12)-(1,13)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/cond_eflipflop.txt b/test/prism/snapshots/whitequark/cond_eflipflop.txt index 18fee58492..fb06302afb 100644 --- a/test/prism/snapshots/whitequark/cond_eflipflop.txt +++ b/test/prism/snapshots/whitequark/cond_eflipflop.txt @@ -1,17 +1,21 @@ @ ProgramNode (location: (1,0)-(3,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,17)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (1,1)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,2)-(1,11)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ FlipFlopNode (location: (1,2)-(1,11)) - │ │ │ ├── flags: exclude_end + │ │ │ ├── flags: newline, exclude_end │ │ │ ├── left: │ │ │ │ @ CallNode (location: (1,2)-(1,5)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -45,6 +49,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ IfNode (location: (3,0)-(3,17)) + ├── flags: newline ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (3,3)-(3,12)) diff --git a/test/prism/snapshots/whitequark/cond_eflipflop_with_beginless_range.txt b/test/prism/snapshots/whitequark/cond_eflipflop_with_beginless_range.txt index 05972521e8..533752b6af 100644 --- a/test/prism/snapshots/whitequark/cond_eflipflop_with_beginless_range.txt +++ b/test/prism/snapshots/whitequark/cond_eflipflop_with_beginless_range.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,14)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (1,3)-(1,9)) diff --git a/test/prism/snapshots/whitequark/cond_eflipflop_with_endless_range.txt b/test/prism/snapshots/whitequark/cond_eflipflop_with_endless_range.txt index c85ff292a5..d850ce137b 100644 --- a/test/prism/snapshots/whitequark/cond_eflipflop_with_endless_range.txt +++ b/test/prism/snapshots/whitequark/cond_eflipflop_with_endless_range.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,14)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (1,3)-(1,9)) diff --git a/test/prism/snapshots/whitequark/cond_iflipflop.txt b/test/prism/snapshots/whitequark/cond_iflipflop.txt index f76a6636f6..19dbdf7dd4 100644 --- a/test/prism/snapshots/whitequark/cond_iflipflop.txt +++ b/test/prism/snapshots/whitequark/cond_iflipflop.txt @@ -1,17 +1,21 @@ @ ProgramNode (location: (1,0)-(3,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,16)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ ParenthesesNode (location: (1,1)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,2)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ FlipFlopNode (location: (1,2)-(1,10)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── left: │ │ │ │ @ CallNode (location: (1,2)-(1,5)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -45,6 +49,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ IfNode (location: (3,0)-(3,16)) + ├── flags: newline ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (3,3)-(3,11)) diff --git a/test/prism/snapshots/whitequark/cond_iflipflop_with_beginless_range.txt b/test/prism/snapshots/whitequark/cond_iflipflop_with_beginless_range.txt index 63b87ffd49..84f5a4b0b1 100644 --- a/test/prism/snapshots/whitequark/cond_iflipflop_with_beginless_range.txt +++ b/test/prism/snapshots/whitequark/cond_iflipflop_with_beginless_range.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,13)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (1,3)-(1,8)) diff --git a/test/prism/snapshots/whitequark/cond_iflipflop_with_endless_range.txt b/test/prism/snapshots/whitequark/cond_iflipflop_with_endless_range.txt index 328a2da153..62e2564556 100644 --- a/test/prism/snapshots/whitequark/cond_iflipflop_with_endless_range.txt +++ b/test/prism/snapshots/whitequark/cond_iflipflop_with_endless_range.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,13)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ FlipFlopNode (location: (1,3)-(1,8)) diff --git a/test/prism/snapshots/whitequark/cond_match_current_line.txt b/test/prism/snapshots/whitequark/cond_match_current_line.txt index 700d0966f7..aa9f826a0c 100644 --- a/test/prism/snapshots/whitequark/cond_match_current_line.txt +++ b/test/prism/snapshots/whitequark/cond_match_current_line.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(3,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,13)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ MatchLastLineNode (location: (1,1)-(1,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,1)-(1,2) = "/" │ │ ├── content_loc: (1,2)-(1,5) = "wat" │ │ ├── closing_loc: (1,5)-(1,6) = "/" @@ -20,10 +22,11 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ IfNode (location: (3,0)-(3,13)) + ├── flags: newline ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ MatchLastLineNode (location: (3,3)-(3,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (3,3)-(3,4) = "/" │ ├── content_loc: (3,4)-(3,7) = "wat" │ ├── closing_loc: (3,7)-(3,8) = "/" diff --git a/test/prism/snapshots/whitequark/const_op_asgn.txt b/test/prism/snapshots/whitequark/const_op_asgn.txt index 71df6208d2..32c5c7c331 100644 --- a/test/prism/snapshots/whitequark/const_op_asgn.txt +++ b/test/prism/snapshots/whitequark/const_op_asgn.txt @@ -1,11 +1,15 @@ @ ProgramNode (location: (1,0)-(9,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(9,25)) + ├── flags: ∅ └── body: (length: 5) ├── @ ConstantPathOperatorWriteNode (location: (1,0)-(1,8)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (1,0)-(1,3)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :A │ │ ├── delimiter_loc: (1,0)-(1,2) = "::" @@ -13,23 +17,27 @@ │ ├── binary_operator_loc: (1,4)-(1,6) = "+=" │ ├── value: │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── binary_operator: :+ ├── @ ConstantOperatorWriteNode (location: (3,0)-(3,6)) + │ ├── flags: newline │ ├── name: :A │ ├── name_loc: (3,0)-(3,1) = "A" │ ├── binary_operator_loc: (3,2)-(3,4) = "+=" │ ├── value: │ │ @ IntegerNode (location: (3,5)-(3,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── binary_operator: :+ ├── @ ConstantPathOperatorWriteNode (location: (5,0)-(5,9)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (5,0)-(5,4)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ ConstantReadNode (location: (5,0)-(5,1)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :B │ │ ├── name: :A │ │ ├── delimiter_loc: (5,1)-(5,3) = "::" @@ -37,20 +45,24 @@ │ ├── binary_operator_loc: (5,5)-(5,7) = "+=" │ ├── value: │ │ @ IntegerNode (location: (5,8)-(5,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── binary_operator: :+ ├── @ DefNode (location: (7,0)-(7,21)) + │ ├── flags: newline │ ├── name: :x │ ├── name_loc: (7,4)-(7,5) = "x" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,7)-(7,16)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ConstantPathOrWriteNode (location: (7,7)-(7,16)) + │ │ ├── flags: newline │ │ ├── target: │ │ │ @ ConstantPathNode (location: (7,7)-(7,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: ∅ │ │ │ ├── name: :A │ │ │ ├── delimiter_loc: (7,7)-(7,9) = "::" @@ -58,7 +70,7 @@ │ │ ├── operator_loc: (7,11)-(7,14) = "||=" │ │ └── value: │ │ @ IntegerNode (location: (7,15)-(7,16)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── locals: [] │ ├── def_keyword_loc: (7,0)-(7,3) = "def" @@ -68,25 +80,30 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (7,18)-(7,21) = "end" └── @ DefNode (location: (9,0)-(9,25)) + ├── flags: newline ├── name: :x ├── name_loc: (9,4)-(9,5) = "x" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (9,7)-(9,20)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ ConstantPathOrWriteNode (location: (9,7)-(9,20)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (9,7)-(9,14)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ SelfNode (location: (9,7)-(9,11)) + │ │ │ └── flags: ∅ │ │ ├── name: :A │ │ ├── delimiter_loc: (9,11)-(9,13) = "::" │ │ └── name_loc: (9,13)-(9,14) = "A" │ ├── operator_loc: (9,15)-(9,18) = "||=" │ └── value: │ @ IntegerNode (location: (9,19)-(9,20)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── locals: [] ├── def_keyword_loc: (9,0)-(9,3) = "def" diff --git a/test/prism/snapshots/whitequark/const_scoped.txt b/test/prism/snapshots/whitequark/const_scoped.txt index 83af4b187b..c059437a24 100644 --- a/test/prism/snapshots/whitequark/const_scoped.txt +++ b/test/prism/snapshots/whitequark/const_scoped.txt @@ -1,11 +1,15 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathNode (location: (1,0)-(1,8)) + ├── flags: newline ├── parent: │ @ ConstantReadNode (location: (1,0)-(1,3)) + │ ├── flags: ∅ │ └── name: :Bar ├── name: :Foo ├── delimiter_loc: (1,3)-(1,5) = "::" diff --git a/test/prism/snapshots/whitequark/const_toplevel.txt b/test/prism/snapshots/whitequark/const_toplevel.txt index 3d7df5defc..000239741c 100644 --- a/test/prism/snapshots/whitequark/const_toplevel.txt +++ b/test/prism/snapshots/whitequark/const_toplevel.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantPathNode (location: (1,0)-(1,5)) + ├── flags: newline ├── parent: ∅ ├── name: :Foo ├── delimiter_loc: (1,0)-(1,2) = "::" diff --git a/test/prism/snapshots/whitequark/const_unscoped.txt b/test/prism/snapshots/whitequark/const_unscoped.txt index 5e272e1775..8fbc92ad7c 100644 --- a/test/prism/snapshots/whitequark/const_unscoped.txt +++ b/test/prism/snapshots/whitequark/const_unscoped.txt @@ -1,7 +1,10 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ ConstantReadNode (location: (1,0)-(1,3)) + ├── flags: newline └── name: :Foo diff --git a/test/prism/snapshots/whitequark/cpath.txt b/test/prism/snapshots/whitequark/cpath.txt index e801456bf7..14f2ee6fbc 100644 --- a/test/prism/snapshots/whitequark/cpath.txt +++ b/test/prism/snapshots/whitequark/cpath.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(3,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,20)) + ├── flags: ∅ └── body: (length: 2) ├── @ ModuleNode (location: (1,0)-(1,17)) + │ ├── flags: newline │ ├── locals: [] │ ├── module_keyword_loc: (1,0)-(1,6) = "module" │ ├── constant_path: │ │ @ ConstantPathNode (location: (1,7)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── parent: ∅ │ │ ├── name: :Foo │ │ ├── delimiter_loc: (1,7)-(1,9) = "::" @@ -16,12 +20,15 @@ │ ├── end_keyword_loc: (1,14)-(1,17) = "end" │ └── name: :Foo └── @ ModuleNode (location: (3,0)-(3,20)) + ├── flags: newline ├── locals: [] ├── module_keyword_loc: (3,0)-(3,6) = "module" ├── constant_path: │ @ ConstantPathNode (location: (3,7)-(3,15)) + │ ├── flags: ∅ │ ├── parent: │ │ @ ConstantReadNode (location: (3,7)-(3,10)) + │ │ ├── flags: ∅ │ │ └── name: :Bar │ ├── name: :Foo │ ├── delimiter_loc: (3,10)-(3,12) = "::" diff --git a/test/prism/snapshots/whitequark/cvar.txt b/test/prism/snapshots/whitequark/cvar.txt index 7847ce4495..03163eec6b 100644 --- a/test/prism/snapshots/whitequark/cvar.txt +++ b/test/prism/snapshots/whitequark/cvar.txt @@ -1,7 +1,10 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ ClassVariableReadNode (location: (1,0)-(1,5)) + ├── flags: newline └── name: :@@foo diff --git a/test/prism/snapshots/whitequark/cvasgn.txt b/test/prism/snapshots/whitequark/cvasgn.txt index f3eceed4a4..485d6853ba 100644 --- a/test/prism/snapshots/whitequark/cvasgn.txt +++ b/test/prism/snapshots/whitequark/cvasgn.txt @@ -1,13 +1,16 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ ClassVariableWriteNode (location: (1,0)-(1,10)) + ├── flags: newline ├── name: :@@var ├── name_loc: (1,0)-(1,5) = "@@var" ├── value: │ @ IntegerNode (location: (1,8)-(1,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 10 └── operator_loc: (1,6)-(1,7) = "=" diff --git a/test/prism/snapshots/whitequark/dedenting_heredoc.txt b/test/prism/snapshots/whitequark/dedenting_heredoc.txt index 67896b2415..7ebfd094bc 100644 --- a/test/prism/snapshots/whitequark/dedenting_heredoc.txt +++ b/test/prism/snapshots/whitequark/dedenting_heredoc.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(72,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(72,8)) + ├── flags: ∅ └── body: (length: 16) ├── @ CallNode (location: (1,0)-(1,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -15,29 +17,31 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (1,2)-(1,8)) - │ │ ├── flags: mutable + │ │ ├── flags: static_literal, mutable │ │ ├── opening_loc: (1,2)-(1,8) = "<<~\"E\"" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " x\n" │ │ │ ├── @ EmbeddedStatementsNode (location: (3,2)-(3,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (3,2)-(3,4) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (3,4)-(3,9)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ StringNode (location: (3,4)-(3,9)) - │ │ │ │ │ ├── flags: frozen + │ │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ │ ├── opening_loc: (3,4)-(3,5) = "\"" │ │ │ │ │ ├── content_loc: (3,5)-(3,8) = " y" │ │ │ │ │ ├── closing_loc: (3,8)-(3,9) = "\"" │ │ │ │ │ └── unescaped: " y" │ │ │ │ └── closing_loc: (3,9)-(3,10) = "}" │ │ │ └── @ StringNode (location: (3,10)-(4,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,10)-(4,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -46,7 +50,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (6,0)-(6,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -61,15 +65,17 @@ │ │ ├── opening_loc: (6,2)-(6,8) = "<<~\"E\"" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (7,0)-(8,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (7,0)-(8,0) = " x\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " x\n" │ │ │ ├── @ EmbeddedStatementsNode (location: (8,2)-(8,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── opening_loc: (8,2)-(8,4) = "\#{" │ │ │ │ ├── statements: │ │ │ │ │ @ StatementsNode (location: (8,4)-(8,7)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ CallNode (location: (8,4)-(8,7)) │ │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -83,7 +89,7 @@ │ │ │ │ │ └── block: ∅ │ │ │ │ └── closing_loc: (8,7)-(8,8) = "}" │ │ │ └── @ StringNode (location: (8,8)-(9,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (8,8)-(9,0) = "\n" │ │ │ ├── closing_loc: ∅ @@ -92,7 +98,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -103,17 +109,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (11,2)-(11,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (11,2)-(11,6) = "<<~E" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (12,0)-(13,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (12,0)-(13,0) = "\tx\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "x\n" │ │ │ └── @ StringNode (location: (13,0)-(14,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (13,0)-(14,0) = " y\n" │ │ │ ├── closing_loc: ∅ @@ -122,7 +128,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (16,0)-(16,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -133,17 +139,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (16,2)-(16,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (16,2)-(16,6) = "<<~E" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (17,0)-(18,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (17,0)-(18,0) = "\tx\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "\tx\n" │ │ │ └── @ StringNode (location: (18,0)-(19,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (18,0)-(19,0) = " y\n" │ │ │ ├── closing_loc: ∅ @@ -152,7 +158,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (21,0)-(21,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -163,17 +169,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (21,2)-(21,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (21,2)-(21,6) = "<<~E" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (22,0)-(23,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (22,0)-(23,0) = " \tx\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "x\n" │ │ │ └── @ StringNode (location: (23,0)-(24,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (23,0)-(24,0) = " y\n" │ │ │ ├── closing_loc: ∅ @@ -182,7 +188,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (26,0)-(26,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -193,17 +199,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (26,2)-(26,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (26,2)-(26,6) = "<<~E" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (27,0)-(28,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (27,0)-(28,0) = " \tx\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "\tx\n" │ │ │ └── @ StringNode (location: (28,0)-(29,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (28,0)-(29,0) = "\ty\n" │ │ │ ├── closing_loc: ∅ @@ -212,7 +218,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -223,17 +229,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (31,2)-(31,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (31,2)-(31,6) = "<<~E" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (32,0)-(33,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (32,0)-(33,0) = " x\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " x\n" │ │ │ └── @ StringNode (location: (33,0)-(34,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (33,0)-(34,0) = " \\\ty\n" │ │ │ ├── closing_loc: ∅ @@ -242,7 +248,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (36,0)-(36,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -253,17 +259,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (36,2)-(36,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (36,2)-(36,6) = "<<~E" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (37,0)-(38,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (37,0)-(38,0) = " x\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " x\n" │ │ │ └── @ StringNode (location: (38,0)-(39,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (38,0)-(39,0) = " \\ y\n" │ │ │ ├── closing_loc: ∅ @@ -272,7 +278,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (41,0)-(41,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -291,7 +297,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (44,0)-(44,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -302,23 +308,23 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (44,2)-(44,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (44,2)-(44,6) = "<<~E" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (45,0)-(46,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (45,0)-(46,0) = " x\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " x\n" │ │ │ ├── @ StringNode (location: (46,0)-(47,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (46,0)-(47,0) = "\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "\n" │ │ │ └── @ StringNode (location: (47,0)-(48,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (47,0)-(48,0) = "y\n" │ │ │ ├── closing_loc: ∅ @@ -327,7 +333,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (50,0)-(50,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -338,23 +344,23 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (50,2)-(50,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (50,2)-(50,6) = "<<~E" │ │ ├── parts: (length: 3) │ │ │ ├── @ StringNode (location: (51,0)-(52,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (51,0)-(52,0) = " x\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "x\n" │ │ │ ├── @ StringNode (location: (52,0)-(53,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (52,0)-(53,0) = " \n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: " \n" │ │ │ └── @ StringNode (location: (53,0)-(54,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (53,0)-(54,0) = " y\n" │ │ │ ├── closing_loc: ∅ @@ -363,7 +369,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (56,0)-(56,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -374,17 +380,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ InterpolatedStringNode (location: (56,2)-(56,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── opening_loc: (56,2)-(56,6) = "<<~E" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (57,0)-(58,0)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (57,0)-(58,0) = " x\n" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "x\n" │ │ │ └── @ StringNode (location: (58,0)-(59,0)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (58,0)-(59,0) = " y\n" │ │ │ ├── closing_loc: ∅ @@ -393,7 +399,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (61,0)-(61,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -412,7 +418,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (65,0)-(65,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -431,7 +437,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (69,0)-(69,6)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -450,7 +456,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (72,0)-(72,8)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -461,6 +467,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ InterpolatedXStringNode (location: (72,2)-(72,8)) + │ ├── flags: ∅ │ ├── opening_loc: (72,2)-(72,8) = "<<~`E`" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (73,0)-(74,0)) @@ -470,9 +477,11 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: " x\n" │ │ ├── @ EmbeddedStatementsNode (location: (74,2)-(74,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (74,2)-(74,4) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (74,4)-(74,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (74,4)-(74,7)) │ │ │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt b/test/prism/snapshots/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt index 8d093fdab6..6626d0a330 100644 --- a/test/prism/snapshots/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt +++ b/test/prism/snapshots/whitequark/dedenting_interpolating_heredoc_fake_line_continuation.txt @@ -1,20 +1,22 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── opening_loc: (1,0)-(1,8) = "<<~'FOO'" ├── parts: (length: 2) │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (2,0)-(3,0) = " baz\\\\\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "baz\\\\\n" │ └── @ StringNode (location: (3,0)-(4,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (3,0)-(4,0) = " qux\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt b/test/prism/snapshots/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt index d43d313e6b..ee985b46d6 100644 --- a/test/prism/snapshots/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt +++ b/test/prism/snapshots/whitequark/dedenting_non_interpolating_heredoc_line_continuation.txt @@ -1,20 +1,22 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── opening_loc: (1,0)-(1,8) = "<<~'FOO'" ├── parts: (length: 2) │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (2,0)-(3,0) = " baz\\\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "baz\\\n" │ └── @ StringNode (location: (3,0)-(4,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (3,0)-(4,0) = " qux\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/def.txt b/test/prism/snapshots/whitequark/def.txt index d5e1139c4d..937d44a9d5 100644 --- a/test/prism/snapshots/whitequark/def.txt +++ b/test/prism/snapshots/whitequark/def.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(11,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(11,14)) + ├── flags: ∅ └── body: (length: 6) ├── @ DefNode (location: (1,0)-(1,14)) + │ ├── flags: newline │ ├── name: :BEGIN │ ├── name_loc: (1,4)-(1,9) = "BEGIN" │ ├── receiver: ∅ @@ -17,6 +20,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (1,11)-(1,14) = "end" ├── @ DefNode (location: (3,0)-(3,12)) + │ ├── flags: newline │ ├── name: :END │ ├── name_loc: (3,4)-(3,7) = "END" │ ├── receiver: ∅ @@ -30,6 +34,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,9)-(3,12) = "end" ├── @ DefNode (location: (5,0)-(5,15)) + │ ├── flags: newline │ ├── name: :String │ ├── name_loc: (5,4)-(5,10) = "String" │ ├── receiver: ∅ @@ -43,6 +48,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,12)-(5,15) = "end" ├── @ DefNode (location: (7,0)-(7,16)) + │ ├── flags: newline │ ├── name: :String= │ ├── name_loc: (7,4)-(7,11) = "String=" │ ├── receiver: ∅ @@ -56,6 +62,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (7,13)-(7,16) = "end" ├── @ DefNode (location: (9,0)-(9,12)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (9,4)-(9,7) = "foo" │ ├── receiver: ∅ @@ -69,6 +76,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (9,9)-(9,12) = "end" └── @ DefNode (location: (11,0)-(11,14)) + ├── flags: newline ├── name: :until ├── name_loc: (11,4)-(11,9) = "until" ├── receiver: ∅ diff --git a/test/prism/snapshots/whitequark/defined.txt b/test/prism/snapshots/whitequark/defined.txt index 5e05870b21..77e102e539 100644 --- a/test/prism/snapshots/whitequark/defined.txt +++ b/test/prism/snapshots/whitequark/defined.txt @@ -1,16 +1,21 @@ @ ProgramNode (location: (1,0)-(5,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,13)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefinedNode (location: (1,0)-(1,13)) + │ ├── flags: newline │ ├── lparen_loc: ∅ │ ├── value: │ │ @ InstanceVariableReadNode (location: (1,9)-(1,13)) + │ │ ├── flags: ∅ │ │ └── name: :@foo │ ├── rparen_loc: ∅ │ └── keyword_loc: (1,0)-(1,8) = "defined?" ├── @ DefinedNode (location: (3,0)-(3,12)) + │ ├── flags: newline │ ├── lparen_loc: ∅ │ ├── value: │ │ @ CallNode (location: (3,9)-(3,12)) @@ -26,6 +31,7 @@ │ ├── rparen_loc: ∅ │ └── keyword_loc: (3,0)-(3,8) = "defined?" └── @ DefinedNode (location: (5,0)-(5,13)) + ├── flags: newline ├── lparen_loc: (5,8)-(5,9) = "(" ├── value: │ @ CallNode (location: (5,9)-(5,12)) diff --git a/test/prism/snapshots/whitequark/defs.txt b/test/prism/snapshots/whitequark/defs.txt index 616cca6155..92b9e38b62 100644 --- a/test/prism/snapshots/whitequark/defs.txt +++ b/test/prism/snapshots/whitequark/defs.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(9,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(9,18)) + ├── flags: ∅ └── body: (length: 5) ├── @ DefNode (location: (1,0)-(1,18)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,10)-(1,13) = "foo" │ ├── receiver: │ │ @ ParenthesesNode (location: (1,4)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ CallNode (location: (1,5)-(1,8)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -31,10 +35,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (1,15)-(1,18) = "end" ├── @ DefNode (location: (3,0)-(3,19)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (3,11)-(3,14) = "foo" │ ├── receiver: │ │ @ ConstantReadNode (location: (3,4)-(3,10)) + │ │ ├── flags: ∅ │ │ └── name: :String │ ├── parameters: ∅ │ ├── body: ∅ @@ -46,10 +52,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,16)-(3,19) = "end" ├── @ DefNode (location: (5,0)-(5,20)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (5,12)-(5,15) = "foo" │ ├── receiver: │ │ @ ConstantReadNode (location: (5,4)-(5,10)) + │ │ ├── flags: ∅ │ │ └── name: :String │ ├── parameters: ∅ │ ├── body: ∅ @@ -61,10 +69,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,17)-(5,20) = "end" ├── @ DefNode (location: (7,0)-(7,17)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (7,9)-(7,12) = "foo" │ ├── receiver: │ │ @ SelfNode (location: (7,4)-(7,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -75,10 +85,12 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (7,14)-(7,17) = "end" └── @ DefNode (location: (9,0)-(9,18)) + ├── flags: newline ├── name: :foo ├── name_loc: (9,10)-(9,13) = "foo" ├── receiver: │ @ SelfNode (location: (9,4)-(9,8)) + │ └── flags: ∅ ├── parameters: ∅ ├── body: ∅ ├── locals: [] diff --git a/test/prism/snapshots/whitequark/empty_stmt.txt b/test/prism/snapshots/whitequark/empty_stmt.txt index 3a21ce5559..5756285aaf 100644 --- a/test/prism/snapshots/whitequark/empty_stmt.txt +++ b/test/prism/snapshots/whitequark/empty_stmt.txt @@ -1,5 +1,7 @@ @ ProgramNode (location: (1,0)-(1,0)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,0)) + ├── flags: ∅ └── body: (length: 0) diff --git a/test/prism/snapshots/whitequark/endless_comparison_method.txt b/test/prism/snapshots/whitequark/endless_comparison_method.txt index 28ec3843bb..a32a4dff52 100644 --- a/test/prism/snapshots/whitequark/endless_comparison_method.txt +++ b/test/prism/snapshots/whitequark/endless_comparison_method.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(11,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(11,28)) + ├── flags: ∅ └── body: (length: 6) ├── @ DefNode (location: (1,0)-(1,28)) + │ ├── flags: newline │ ├── name: :!= │ ├── name_loc: (1,4)-(1,6) = "!=" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,7)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,7)-(1,12)) │ │ │ ├── flags: ∅ @@ -21,9 +25,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,16)-(1,28)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,16)-(1,28)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -40,11 +45,13 @@ │ ├── equal_loc: (1,14)-(1,15) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (3,0)-(3,28)) + │ ├── flags: newline │ ├── name: :!= │ ├── name_loc: (3,4)-(3,6) = "!=" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (3,7)-(3,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (3,7)-(3,12)) │ │ │ ├── flags: ∅ @@ -57,9 +64,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,16)-(3,28)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,16)-(3,28)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -76,11 +84,13 @@ │ ├── equal_loc: (3,14)-(3,15) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (5,0)-(5,28)) + │ ├── flags: newline │ ├── name: :<= │ ├── name_loc: (5,4)-(5,6) = "<=" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (5,7)-(5,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (5,7)-(5,12)) │ │ │ ├── flags: ∅ @@ -93,9 +103,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,16)-(5,28)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,16)-(5,28)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -112,11 +123,13 @@ │ ├── equal_loc: (5,14)-(5,15) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (7,0)-(7,28)) + │ ├── flags: newline │ ├── name: :== │ ├── name_loc: (7,4)-(7,6) = "==" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (7,7)-(7,12)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (7,7)-(7,12)) │ │ │ ├── flags: ∅ @@ -129,9 +142,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,16)-(7,28)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,16)-(7,28)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -148,11 +162,13 @@ │ ├── equal_loc: (7,14)-(7,15) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (9,0)-(9,29)) + │ ├── flags: newline │ ├── name: :=== │ ├── name_loc: (9,4)-(9,7) = "===" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (9,8)-(9,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (9,8)-(9,13)) │ │ │ ├── flags: ∅ @@ -165,9 +181,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (9,17)-(9,29)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (9,17)-(9,29)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :do_something @@ -184,11 +201,13 @@ │ ├── equal_loc: (9,15)-(9,16) = "=" │ └── end_keyword_loc: ∅ └── @ DefNode (location: (11,0)-(11,28)) + ├── flags: newline ├── name: :>= ├── name_loc: (11,4)-(11,6) = ">=" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (11,7)-(11,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (11,7)-(11,12)) │ │ ├── flags: ∅ @@ -201,9 +220,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (11,16)-(11,28)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (11,16)-(11,28)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :do_something diff --git a/test/prism/snapshots/whitequark/endless_method.txt b/test/prism/snapshots/whitequark/endless_method.txt index 17d3873b66..5b48a95ae5 100644 --- a/test/prism/snapshots/whitequark/endless_method.txt +++ b/test/prism/snapshots/whitequark/endless_method.txt @@ -1,18 +1,22 @@ @ ProgramNode (location: (1,0)-(7,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,22)) + ├── flags: ∅ └── body: (length: 4) ├── @ DefNode (location: (1,0)-(1,14)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,12)-(1,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,12)-(1,14)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 42 │ ├── locals: [] │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -22,11 +26,13 @@ │ ├── equal_loc: (1,10)-(1,11) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (3,0)-(3,18)) + │ ├── flags: newline │ ├── name: :inc │ ├── name_loc: (3,4)-(3,7) = "inc" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (3,8)-(3,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (3,8)-(3,9)) │ │ │ ├── flags: ∅ @@ -39,11 +45,13 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,13)-(3,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,13)-(3,18)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (3,13)-(3,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :x │ │ │ └── depth: 0 │ │ ├── call_operator_loc: ∅ @@ -55,7 +63,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (3,17)-(3,18)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -67,6 +75,7 @@ │ ├── equal_loc: (3,11)-(3,12) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (5,0)-(5,18)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (5,8)-(5,11) = "foo" │ ├── receiver: @@ -83,9 +92,10 @@ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,16)-(5,18)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (5,16)-(5,18)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 42 │ ├── locals: [] │ ├── def_keyword_loc: (5,0)-(5,3) = "def" @@ -95,6 +105,7 @@ │ ├── equal_loc: (5,14)-(5,15) = "=" │ └── end_keyword_loc: ∅ └── @ DefNode (location: (7,0)-(7,22)) + ├── flags: newline ├── name: :inc ├── name_loc: (7,8)-(7,11) = "inc" ├── receiver: @@ -110,6 +121,7 @@ │ └── block: ∅ ├── parameters: │ @ ParametersNode (location: (7,12)-(7,13)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (7,12)-(7,13)) │ │ ├── flags: ∅ @@ -122,11 +134,13 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (7,17)-(7,22)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (7,17)-(7,22)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (7,17)-(7,18)) + │ │ ├── flags: ∅ │ │ ├── name: :x │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -138,7 +152,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (7,21)-(7,22)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/whitequark/endless_method_command_syntax.txt b/test/prism/snapshots/whitequark/endless_method_command_syntax.txt index 4ec57ccd35..f2fa941fee 100644 --- a/test/prism/snapshots/whitequark/endless_method_command_syntax.txt +++ b/test/prism/snapshots/whitequark/endless_method_command_syntax.txt @@ -1,18 +1,22 @@ @ ProgramNode (location: (1,0)-(15,62)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(15,62)) + ├── flags: ∅ └── body: (length: 8) ├── @ DefNode (location: (1,0)-(1,22)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,10)-(1,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,10)-(1,22)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -38,15 +42,17 @@ │ ├── equal_loc: (1,8)-(1,9) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (3,0)-(3,24)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (3,4)-(3,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,12)-(3,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,12)-(3,24)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -72,11 +78,13 @@ │ ├── equal_loc: (3,10)-(3,11) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (5,0)-(5,19)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (5,4)-(5,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (5,8)-(5,9)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (5,8)-(5,9)) │ │ │ ├── flags: ∅ @@ -89,9 +97,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,13)-(5,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,13)-(5,19)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -102,6 +111,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (5,18)-(5,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :x │ │ │ └── depth: 0 │ │ ├── closing_loc: ∅ @@ -114,6 +124,7 @@ │ ├── equal_loc: (5,11)-(5,12) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (7,0)-(7,26)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (7,8)-(7,11) = "foo" │ ├── receiver: @@ -130,9 +141,10 @@ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,14)-(7,26)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,14)-(7,26)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -158,6 +170,7 @@ │ ├── equal_loc: (7,12)-(7,13) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (9,0)-(9,28)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (9,8)-(9,11) = "foo" │ ├── receiver: @@ -174,9 +187,10 @@ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (9,16)-(9,28)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (9,16)-(9,28)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -202,6 +216,7 @@ │ ├── equal_loc: (9,14)-(9,15) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (11,0)-(11,23)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (11,8)-(11,11) = "foo" │ ├── receiver: @@ -217,6 +232,7 @@ │ │ └── block: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (11,12)-(11,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (11,12)-(11,13)) │ │ │ ├── flags: ∅ @@ -229,9 +245,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (11,17)-(11,23)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (11,17)-(11,23)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :puts @@ -242,6 +259,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (11,22)-(11,23)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :x │ │ │ └── depth: 0 │ │ ├── closing_loc: ∅ @@ -254,11 +272,13 @@ │ ├── equal_loc: (11,15)-(11,16) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (13,0)-(13,60)) + │ ├── flags: newline │ ├── name: :rescued │ ├── name_loc: (13,4)-(13,11) = "rescued" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (13,12)-(13,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (13,12)-(13,13)) │ │ │ ├── flags: ∅ @@ -271,8 +291,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (13,17)-(13,60)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (13,17)-(13,60)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ CallNode (location: (13,17)-(13,37)) │ │ │ ├── flags: ignore_visibility @@ -300,17 +322,20 @@ │ │ ├── opening_loc: (13,45)-(13,46) = "\"" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (13,46)-(13,55)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (13,46)-(13,55) = "instance " │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "instance " │ │ │ └── @ EmbeddedStatementsNode (location: (13,55)-(13,59)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (13,55)-(13,57) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (13,57)-(13,58)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (13,57)-(13,58)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :x │ │ │ │ └── depth: 0 │ │ │ └── closing_loc: (13,58)-(13,59) = "}" @@ -323,12 +348,15 @@ │ ├── equal_loc: (13,15)-(13,16) = "=" │ └── end_keyword_loc: ∅ └── @ DefNode (location: (15,0)-(15,62)) + ├── flags: newline ├── name: :rescued ├── name_loc: (15,9)-(15,16) = "rescued" ├── receiver: │ @ SelfNode (location: (15,4)-(15,8)) + │ └── flags: ∅ ├── parameters: │ @ ParametersNode (location: (15,17)-(15,18)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (15,17)-(15,18)) │ │ ├── flags: ∅ @@ -341,8 +369,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (15,22)-(15,62)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RescueModifierNode (location: (15,22)-(15,62)) + │ ├── flags: newline │ ├── expression: │ │ @ CallNode (location: (15,22)-(15,42)) │ │ ├── flags: ignore_visibility @@ -370,17 +400,20 @@ │ ├── opening_loc: (15,50)-(15,51) = "\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (15,51)-(15,57)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (15,51)-(15,57) = "class " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "class " │ │ └── @ EmbeddedStatementsNode (location: (15,57)-(15,61)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (15,57)-(15,59) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (15,59)-(15,60)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (15,59)-(15,60)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :x │ │ │ └── depth: 0 │ │ └── closing_loc: (15,60)-(15,61) = "}" diff --git a/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt b/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt index 64a3ffa252..67264d3b1c 100644 --- a/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt +++ b/test/prism/snapshots/whitequark/endless_method_forwarded_args_legacy.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,23)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,11)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -16,12 +20,14 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ ForwardingParameterNode (location: (1,8)-(1,11)) + │ │ └── flags: ∅ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,15)-(1,23)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,15)-(1,23)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -32,6 +38,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ForwardingArgumentsNode (location: (1,19)-(1,22)) + │ │ └── flags: ∅ │ ├── closing_loc: (1,22)-(1,23) = ")" │ └── block: ∅ ├── locals: [] diff --git a/test/prism/snapshots/whitequark/endless_method_with_rescue_mod.txt b/test/prism/snapshots/whitequark/endless_method_with_rescue_mod.txt index 2284b24354..5456221286 100644 --- a/test/prism/snapshots/whitequark/endless_method_with_rescue_mod.txt +++ b/test/prism/snapshots/whitequark/endless_method_with_rescue_mod.txt @@ -1,25 +1,30 @@ @ ProgramNode (location: (1,0)-(3,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,25)) + ├── flags: ∅ └── body: (length: 2) ├── @ DefNode (location: (1,0)-(1,20)) + │ ├── flags: newline │ ├── name: :m │ ├── name_loc: (1,4)-(1,5) = "m" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,10)-(1,20)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (1,10)-(1,20)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── keyword_loc: (1,12)-(1,18) = "rescue" │ │ └── rescue_expression: │ │ @ IntegerNode (location: (1,19)-(1,20)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── locals: [] │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -29,23 +34,27 @@ │ ├── equal_loc: (1,8)-(1,9) = "=" │ └── end_keyword_loc: ∅ └── @ DefNode (location: (3,0)-(3,25)) + ├── flags: newline ├── name: :m ├── name_loc: (3,9)-(3,10) = "m" ├── receiver: │ @ SelfNode (location: (3,4)-(3,8)) + │ └── flags: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (3,15)-(3,25)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RescueModifierNode (location: (3,15)-(3,25)) + │ ├── flags: newline │ ├── expression: │ │ @ IntegerNode (location: (3,15)-(3,16)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_loc: (3,17)-(3,23) = "rescue" │ └── rescue_expression: │ @ IntegerNode (location: (3,24)-(3,25)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── locals: [] ├── def_keyword_loc: (3,0)-(3,3) = "def" diff --git a/test/prism/snapshots/whitequark/endless_method_without_args.txt b/test/prism/snapshots/whitequark/endless_method_without_args.txt index a7a9c93ef3..2e97f101c7 100644 --- a/test/prism/snapshots/whitequark/endless_method_without_args.txt +++ b/test/prism/snapshots/whitequark/endless_method_without_args.txt @@ -1,18 +1,22 @@ @ ProgramNode (location: (1,0)-(7,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,28)) + ├── flags: ∅ └── body: (length: 4) ├── @ DefNode (location: (1,0)-(1,12)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,10)-(1,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,10)-(1,12)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 42 │ ├── locals: [] │ ├── def_keyword_loc: (1,0)-(1,3) = "def" @@ -22,21 +26,25 @@ │ ├── equal_loc: (1,8)-(1,9) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (3,0)-(3,23)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (3,4)-(3,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,10)-(3,23)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (3,10)-(3,23)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ IntegerNode (location: (3,10)-(3,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ ├── keyword_loc: (3,13)-(3,19) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (3,20)-(3,23)) + │ │ └── flags: static_literal │ ├── locals: [] │ ├── def_keyword_loc: (3,0)-(3,3) = "def" │ ├── operator_loc: ∅ @@ -45,16 +53,19 @@ │ ├── equal_loc: (3,8)-(3,9) = "=" │ └── end_keyword_loc: ∅ ├── @ DefNode (location: (5,0)-(5,17)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (5,9)-(5,12) = "foo" │ ├── receiver: │ │ @ SelfNode (location: (5,4)-(5,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,15)-(5,17)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (5,15)-(5,17)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 42 │ ├── locals: [] │ ├── def_keyword_loc: (5,0)-(5,3) = "def" @@ -64,22 +75,27 @@ │ ├── equal_loc: (5,13)-(5,14) = "=" │ └── end_keyword_loc: ∅ └── @ DefNode (location: (7,0)-(7,28)) + ├── flags: newline ├── name: :foo ├── name_loc: (7,9)-(7,12) = "foo" ├── receiver: │ @ SelfNode (location: (7,4)-(7,8)) + │ └── flags: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (7,15)-(7,28)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ RescueModifierNode (location: (7,15)-(7,28)) + │ ├── flags: newline │ ├── expression: │ │ @ IntegerNode (location: (7,15)-(7,17)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 42 │ ├── keyword_loc: (7,18)-(7,24) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (7,25)-(7,28)) + │ └── flags: static_literal ├── locals: [] ├── def_keyword_loc: (7,0)-(7,3) = "def" ├── operator_loc: (7,8)-(7,9) = "." diff --git a/test/prism/snapshots/whitequark/ensure.txt b/test/prism/snapshots/whitequark/ensure.txt index a48d2370e8..63d4a3b05d 100644 --- a/test/prism/snapshots/whitequark/ensure.txt +++ b/test/prism/snapshots/whitequark/ensure.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,29)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,29)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,29)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -22,12 +26,14 @@ ├── else_clause: ∅ ├── ensure_clause: │ @ EnsureNode (location: (1,13)-(1,29)) + │ ├── flags: ∅ │ ├── ensure_keyword_loc: (1,13)-(1,19) = "ensure" │ ├── statements: │ │ @ StatementsNode (location: (1,21)-(1,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/ensure_empty.txt b/test/prism/snapshots/whitequark/ensure_empty.txt index 0bab5d80c3..c7369b7b1f 100644 --- a/test/prism/snapshots/whitequark/ensure_empty.txt +++ b/test/prism/snapshots/whitequark/ensure_empty.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,16)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: ∅ ├── rescue_clause: ∅ ├── else_clause: ∅ ├── ensure_clause: │ @ EnsureNode (location: (1,6)-(1,16)) + │ ├── flags: ∅ │ ├── ensure_keyword_loc: (1,6)-(1,12) = "ensure" │ ├── statements: ∅ │ └── end_keyword_loc: (1,13)-(1,16) = "end" diff --git a/test/prism/snapshots/whitequark/false.txt b/test/prism/snapshots/whitequark/false.txt index 00562f703a..4686f6aa08 100644 --- a/test/prism/snapshots/whitequark/false.txt +++ b/test/prism/snapshots/whitequark/false.txt @@ -1,6 +1,9 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ FalseNode (location: (1,0)-(1,5)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/whitequark/float.txt b/test/prism/snapshots/whitequark/float.txt index 5e6a597db7..7839f89962 100644 --- a/test/prism/snapshots/whitequark/float.txt +++ b/test/prism/snapshots/whitequark/float.txt @@ -1,9 +1,13 @@ @ ProgramNode (location: (1,0)-(3,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ FloatNode (location: (1,0)-(1,5)) + │ ├── flags: newline, static_literal │ └── value: -1.33 └── @ FloatNode (location: (3,0)-(3,4)) + ├── flags: newline, static_literal └── value: 1.33 diff --git a/test/prism/snapshots/whitequark/for.txt b/test/prism/snapshots/whitequark/for.txt index fec8bdfd64..8dca927c90 100644 --- a/test/prism/snapshots/whitequark/for.txt +++ b/test/prism/snapshots/whitequark/for.txt @@ -1,11 +1,15 @@ @ ProgramNode (location: (1,0)-(3,22)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(3,22)) + ├── flags: ∅ └── body: (length: 2) ├── @ ForNode (location: (1,0)-(1,24)) + │ ├── flags: newline │ ├── index: │ │ @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── collection: @@ -21,9 +25,10 @@ │ │ └── block: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,16)-(1,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,16)-(1,19)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -34,6 +39,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── closing_loc: ∅ @@ -43,8 +49,10 @@ │ ├── do_keyword_loc: (1,13)-(1,15) = "do" │ └── end_keyword_loc: (1,21)-(1,24) = "end" └── @ ForNode (location: (3,0)-(3,22)) + ├── flags: newline ├── index: │ @ LocalVariableTargetNode (location: (3,4)-(3,5)) + │ ├── flags: ∅ │ ├── name: :a │ └── depth: 0 ├── collection: @@ -60,9 +68,10 @@ │ └── block: ∅ ├── statements: │ @ StatementsNode (location: (3,14)-(3,17)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (3,14)-(3,17)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -73,6 +82,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (3,16)-(3,17)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/for_mlhs.txt b/test/prism/snapshots/whitequark/for_mlhs.txt index 42d8fa2258..0f70dd8a7d 100644 --- a/test/prism/snapshots/whitequark/for_mlhs.txt +++ b/test/prism/snapshots/whitequark/for_mlhs.txt @@ -1,16 +1,22 @@ @ ProgramNode (location: (1,0)-(1,28)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,28)) + ├── flags: ∅ └── body: (length: 1) └── @ ForNode (location: (1,0)-(1,28)) + ├── flags: newline ├── index: │ @ MultiTargetNode (location: (1,4)-(1,8)) + │ ├── flags: ∅ │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (1,7)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rest: ∅ @@ -30,9 +36,10 @@ │ └── block: ∅ ├── statements: │ @ StatementsNode (location: (1,17)-(1,23)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,17)-(1,23)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :p @@ -43,9 +50,11 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ LocalVariableReadNode (location: (1,19)-(1,20)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── @ LocalVariableReadNode (location: (1,22)-(1,23)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/forward_arg.txt b/test/prism/snapshots/whitequark/forward_arg.txt index 17504c64e0..b8c22d08f2 100644 --- a/test/prism/snapshots/whitequark/forward_arg.txt +++ b/test/prism/snapshots/whitequark/forward_arg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,27)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,27)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,27)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,11)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -16,12 +20,14 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ ForwardingParameterNode (location: (1,8)-(1,11)) + │ │ └── flags: ∅ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,14)-(1,22)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,14)-(1,22)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -32,6 +38,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21)) + │ │ └── flags: ∅ │ ├── closing_loc: (1,21)-(1,22) = ")" │ └── block: ∅ ├── locals: [] diff --git a/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt b/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt index 7e58260b58..20c8486276 100644 --- a/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt +++ b/test/prism/snapshots/whitequark/forward_arg_with_open_args.txt @@ -1,18 +1,24 @@ @ ProgramNode (location: (1,0)-(27,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(27,28)) + ├── flags: ∅ └── body: (length: 10) ├── @ ParenthesesNode (location: (1,0)-(3,4)) + │ ├── flags: newline │ ├── body: │ │ @ StatementsNode (location: (1,1)-(3,3)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ DefNode (location: (1,1)-(3,3)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── name_loc: (1,5)-(1,8) = "foo" │ │ ├── receiver: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,9)-(1,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -20,12 +26,14 @@ │ │ │ ├── keywords: (length: 0) │ │ │ ├── keyword_rest: │ │ │ │ @ ForwardingParameterNode (location: (1,9)-(1,12)) + │ │ │ │ └── flags: ∅ │ │ │ └── block: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (2,2)-(2,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (2,2)-(2,10)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -36,6 +44,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ ForwardingArgumentsNode (location: (2,6)-(2,9)) + │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (2,9)-(2,10) = ")" │ │ │ └── block: ∅ │ │ ├── locals: [] @@ -48,15 +57,19 @@ │ ├── opening_loc: (1,0)-(1,1) = "(" │ └── closing_loc: (3,3)-(3,4) = ")" ├── @ ParenthesesNode (location: (5,0)-(5,28)) + │ ├── flags: newline │ ├── body: │ │ @ StatementsNode (location: (5,1)-(5,27)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ DefNode (location: (5,1)-(5,27)) + │ │ ├── flags: newline │ │ ├── name: :foo │ │ ├── name_loc: (5,5)-(5,8) = "foo" │ │ ├── receiver: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (5,9)-(5,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -64,12 +77,14 @@ │ │ │ ├── keywords: (length: 0) │ │ │ ├── keyword_rest: │ │ │ │ @ ForwardingParameterNode (location: (5,9)-(5,12)) + │ │ │ │ └── flags: ∅ │ │ │ └── block: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (5,14)-(5,22)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (5,14)-(5,22)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -80,6 +95,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ ForwardingArgumentsNode (location: (5,18)-(5,21)) + │ │ │ │ └── flags: ∅ │ │ │ ├── closing_loc: (5,21)-(5,22) = ")" │ │ │ └── block: ∅ │ │ ├── locals: [] @@ -92,11 +108,13 @@ │ ├── opening_loc: (5,0)-(5,1) = "(" │ └── closing_loc: (5,27)-(5,28) = ")" ├── @ DefNode (location: (7,0)-(8,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (7,4)-(7,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (7,8)-(7,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -104,6 +122,7 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (7,8)-(7,11)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -114,11 +133,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (8,0)-(8,3) = "end" ├── @ DefNode (location: (10,0)-(10,26)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (10,4)-(10,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (10,8)-(10,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -126,12 +147,14 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (10,8)-(10,11)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (10,13)-(10,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (10,13)-(10,21)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -142,6 +165,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ForwardingArgumentsNode (location: (10,17)-(10,20)) + │ │ │ └── flags: ∅ │ │ ├── closing_loc: (10,20)-(10,21) = ")" │ │ └── block: ∅ │ ├── locals: [] @@ -152,11 +176,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (10,23)-(10,26) = "end" ├── @ DefNode (location: (12,0)-(14,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (12,4)-(12,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (12,8)-(12,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (12,8)-(12,9)) │ │ │ ├── flags: ∅ @@ -167,12 +193,14 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (12,11)-(12,14)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (13,2)-(13,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (13,2)-(13,10)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -183,6 +211,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ForwardingArgumentsNode (location: (13,6)-(13,9)) + │ │ │ └── flags: ∅ │ │ ├── closing_loc: (13,9)-(13,10) = ")" │ │ └── block: ∅ │ ├── locals: [:a] @@ -193,11 +222,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (14,0)-(14,3) = "end" ├── @ DefNode (location: (16,0)-(16,29)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (16,4)-(16,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (16,8)-(16,14)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (16,8)-(16,9)) │ │ │ ├── flags: ∅ @@ -208,12 +239,14 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (16,11)-(16,14)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (16,16)-(16,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (16,16)-(16,24)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -224,6 +257,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ForwardingArgumentsNode (location: (16,20)-(16,23)) + │ │ │ └── flags: ∅ │ │ ├── closing_loc: (16,23)-(16,24) = ")" │ │ └── block: ∅ │ ├── locals: [:a] @@ -234,11 +268,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (16,26)-(16,29) = "end" ├── @ DefNode (location: (18,0)-(19,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (18,4)-(18,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (18,8)-(18,21)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (18,8)-(18,9)) │ │ │ ├── flags: ∅ @@ -251,13 +287,14 @@ │ │ │ ├── operator_loc: (18,13)-(18,14) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (18,15)-(18,16)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (18,18)-(18,21)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: ∅ │ ├── locals: [:a, :b] @@ -268,11 +305,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (19,0)-(19,3) = "end" ├── @ DefNode (location: (21,0)-(23,3)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (21,4)-(21,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (21,8)-(21,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (21,8)-(21,13)) @@ -282,19 +321,21 @@ │ │ │ ├── operator_loc: (21,10)-(21,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (21,12)-(21,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (21,15)-(21,18)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (22,2)-(22,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (22,2)-(22,10)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -305,6 +346,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ForwardingArgumentsNode (location: (22,6)-(22,9)) + │ │ │ └── flags: ∅ │ │ ├── closing_loc: (22,9)-(22,10) = ")" │ │ └── block: ∅ │ ├── locals: [:b] @@ -315,11 +357,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (23,0)-(23,3) = "end" ├── @ DefNode (location: (25,0)-(25,33)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (25,4)-(25,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (25,8)-(25,18)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (25,8)-(25,13)) @@ -329,19 +373,21 @@ │ │ │ ├── operator_loc: (25,10)-(25,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (25,12)-(25,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (25,15)-(25,18)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (25,20)-(25,28)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (25,20)-(25,28)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -352,6 +398,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ForwardingArgumentsNode (location: (25,24)-(25,27)) + │ │ │ └── flags: ∅ │ │ ├── closing_loc: (25,27)-(25,28) = ")" │ │ └── block: ∅ │ ├── locals: [:b] @@ -362,11 +409,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (25,30)-(25,33) = "end" └── @ DefNode (location: (27,0)-(27,28)) + ├── flags: newline ├── name: :foo ├── name_loc: (27,4)-(27,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (27,8)-(27,14)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (27,8)-(27,9)) │ │ ├── flags: ∅ @@ -377,12 +426,14 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ ForwardingParameterNode (location: (27,11)-(27,14)) + │ │ └── flags: ∅ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (27,16)-(27,24)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (27,16)-(27,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -393,6 +444,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ForwardingArgumentsNode (location: (27,20)-(27,23)) + │ │ └── flags: ∅ │ ├── closing_loc: (27,23)-(27,24) = ")" │ └── block: ∅ ├── locals: [:a] diff --git a/test/prism/snapshots/whitequark/forward_args_legacy.txt b/test/prism/snapshots/whitequark/forward_args_legacy.txt index f46967ba50..6fd9c536e3 100644 --- a/test/prism/snapshots/whitequark/forward_args_legacy.txt +++ b/test/prism/snapshots/whitequark/forward_args_legacy.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(5,29)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,29)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefNode (location: (1,0)-(1,27)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,8)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -16,12 +20,14 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (1,8)-(1,11)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,14)-(1,22)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,14)-(1,22)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -32,6 +38,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ ForwardingArgumentsNode (location: (1,18)-(1,21)) + │ │ │ └── flags: ∅ │ │ ├── closing_loc: (1,21)-(1,22) = ")" │ │ └── block: ∅ │ ├── locals: [] @@ -42,11 +49,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (1,24)-(1,27) = "end" ├── @ DefNode (location: (3,0)-(3,17)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (3,4)-(3,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (3,8)-(3,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -54,6 +63,7 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ ForwardingParameterNode (location: (3,8)-(3,11)) + │ │ │ └── flags: ∅ │ │ └── block: ∅ │ ├── body: ∅ │ ├── locals: [] @@ -64,11 +74,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,14)-(3,17) = "end" └── @ DefNode (location: (5,0)-(5,29)) + ├── flags: newline ├── name: :foo ├── name_loc: (5,4)-(5,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (5,8)-(5,11)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -76,11 +88,14 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ ForwardingParameterNode (location: (5,8)-(5,11)) + │ │ └── flags: ∅ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (5,14)-(5,24)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ SuperNode (location: (5,14)-(5,24)) + │ ├── flags: newline │ ├── keyword_loc: (5,14)-(5,19) = "super" │ ├── lparen_loc: (5,19)-(5,20) = "(" │ ├── arguments: @@ -88,6 +103,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ForwardingArgumentsNode (location: (5,20)-(5,23)) + │ │ └── flags: ∅ │ ├── rparen_loc: (5,23)-(5,24) = ")" │ └── block: ∅ ├── locals: [] diff --git a/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt b/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt index acaf9c052d..d80ace6fba 100644 --- a/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_argument_with_kwrestarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,45)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,45)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,45)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,20)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,8)-(1,16)) │ │ ├── flags: ∅ @@ -26,9 +30,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,23)-(1,40)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,23)-(1,40)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -39,12 +44,14 @@ │ │ ├── flags: contains_keywords, contains_keyword_splat │ │ └── arguments: (length: 2) │ │ ├── @ LocalVariableReadNode (location: (1,27)-(1,35)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :argument │ │ │ └── depth: 0 │ │ └── @ KeywordHashNode (location: (1,37)-(1,39)) │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (1,37)-(1,39)) + │ │ ├── flags: ∅ │ │ ├── value: ∅ │ │ └── operator_loc: (1,37)-(1,39) = "**" │ ├── closing_loc: (1,39)-(1,40) = ")" diff --git a/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt b/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt index 367fad7fec..3607930b72 100644 --- a/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_argument_with_restarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,43)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,43)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,43)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,19)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (1,8)-(1,16)) │ │ ├── flags: ∅ @@ -26,9 +30,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,22)-(1,38)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,22)-(1,38)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -39,9 +44,11 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ LocalVariableReadNode (location: (1,26)-(1,34)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :argument │ │ │ └── depth: 0 │ │ └── @ SplatNode (location: (1,36)-(1,37)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,36)-(1,37) = "*" │ │ └── expression: ∅ │ ├── closing_loc: (1,37)-(1,38) = ")" diff --git a/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt b/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt index b4235fb20a..50cc9ca38b 100644 --- a/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_kwrestarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,25)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,25)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,10)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -23,9 +27,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,13)-(1,20)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,13)-(1,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -39,6 +44,7 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (1,17)-(1,19)) + │ │ ├── flags: ∅ │ │ ├── value: ∅ │ │ └── operator_loc: (1,17)-(1,19) = "**" │ ├── closing_loc: (1,19)-(1,20) = ")" diff --git a/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt b/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt index 33779abcc1..32ace5cb3d 100644 --- a/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_kwrestarg_with_additional_kwarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,41)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,41)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,41)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,10)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -23,9 +27,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,13)-(1,36)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,13)-(1,36)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -39,18 +44,21 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 2) │ │ ├── @ AssocSplatNode (location: (1,17)-(1,19)) + │ │ │ ├── flags: ∅ │ │ │ ├── value: ∅ │ │ │ └── operator_loc: (1,17)-(1,19) = "**" │ │ └── @ AssocNode (location: (1,21)-(1,35)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,21)-(1,30)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,21)-(1,29) = "from_foo" │ │ │ ├── closing_loc: (1,29)-(1,30) = ":" │ │ │ └── unescaped: "from_foo" │ │ ├── value: │ │ │ @ TrueNode (location: (1,31)-(1,35)) + │ │ │ └── flags: static_literal │ │ └── operator_loc: ∅ │ ├── closing_loc: (1,35)-(1,36) = ")" │ └── block: ∅ diff --git a/test/prism/snapshots/whitequark/forwarded_restarg.txt b/test/prism/snapshots/whitequark/forwarded_restarg.txt index 17ff8894af..c0bdd05a36 100644 --- a/test/prism/snapshots/whitequark/forwarded_restarg.txt +++ b/test/prism/snapshots/whitequark/forwarded_restarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,23)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,9)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: @@ -23,9 +27,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,12)-(1,18)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,12)-(1,18)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -36,6 +41,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ SplatNode (location: (1,16)-(1,17)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,16)-(1,17) = "*" │ │ └── expression: ∅ │ ├── closing_loc: (1,17)-(1,18) = ")" diff --git a/test/prism/snapshots/whitequark/gvar.txt b/test/prism/snapshots/whitequark/gvar.txt index f4401c4389..5191f28e24 100644 --- a/test/prism/snapshots/whitequark/gvar.txt +++ b/test/prism/snapshots/whitequark/gvar.txt @@ -1,7 +1,10 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ GlobalVariableReadNode (location: (1,0)-(1,4)) + ├── flags: newline └── name: :$foo diff --git a/test/prism/snapshots/whitequark/gvasgn.txt b/test/prism/snapshots/whitequark/gvasgn.txt index fc044054d8..e5bfe44d18 100644 --- a/test/prism/snapshots/whitequark/gvasgn.txt +++ b/test/prism/snapshots/whitequark/gvasgn.txt @@ -1,13 +1,16 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ GlobalVariableWriteNode (location: (1,0)-(1,9)) + ├── flags: newline ├── name: :$var ├── name_loc: (1,0)-(1,4) = "$var" ├── value: │ @ IntegerNode (location: (1,7)-(1,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 10 └── operator_loc: (1,5)-(1,6) = "=" diff --git a/test/prism/snapshots/whitequark/hash_empty.txt b/test/prism/snapshots/whitequark/hash_empty.txt index 38a2c15a9a..3f6fcdd171 100644 --- a/test/prism/snapshots/whitequark/hash_empty.txt +++ b/test/prism/snapshots/whitequark/hash_empty.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ HashNode (location: (1,0)-(1,3)) + ├── flags: newline, static_literal ├── opening_loc: (1,0)-(1,1) = "{" ├── elements: (length: 0) └── closing_loc: (1,2)-(1,3) = "}" diff --git a/test/prism/snapshots/whitequark/hash_hashrocket.txt b/test/prism/snapshots/whitequark/hash_hashrocket.txt index e661a7b048..fcf3fe3055 100644 --- a/test/prism/snapshots/whitequark/hash_hashrocket.txt +++ b/test/prism/snapshots/whitequark/hash_hashrocket.txt @@ -1,39 +1,46 @@ @ ProgramNode (location: (1,0)-(3,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,25)) + ├── flags: ∅ └── body: (length: 2) ├── @ HashNode (location: (1,0)-(1,10)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (1,0)-(1,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (1,2)-(1,8)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ IntegerNode (location: (1,2)-(1,3)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── value: │ │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (1,4)-(1,6) = "=>" │ └── closing_loc: (1,9)-(1,10) = "}" └── @ HashNode (location: (3,0)-(3,25)) + ├── flags: newline ├── opening_loc: (3,0)-(3,1) = "{" ├── elements: (length: 2) │ ├── @ AssocNode (location: (3,2)-(3,8)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ IntegerNode (location: (3,2)-(3,3)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── value: │ │ │ @ IntegerNode (location: (3,7)-(3,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: (3,4)-(3,6) = "=>" │ └── @ AssocNode (location: (3,10)-(3,23)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (3,10)-(3,14)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,10)-(3,11) = ":" │ │ ├── value_loc: (3,11)-(3,14) = "foo" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/hash_kwsplat.txt b/test/prism/snapshots/whitequark/hash_kwsplat.txt index a5d12174cc..acccc48b3d 100644 --- a/test/prism/snapshots/whitequark/hash_kwsplat.txt +++ b/test/prism/snapshots/whitequark/hash_kwsplat.txt @@ -1,25 +1,30 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ HashNode (location: (1,0)-(1,17)) + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "{" ├── elements: (length: 2) │ ├── @ AssocNode (location: (1,2)-(1,8)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,2)-(1,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,2)-(1,5) = "foo" │ │ │ ├── closing_loc: (1,5)-(1,6) = ":" │ │ │ └── unescaped: "foo" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: ∅ │ └── @ AssocSplatNode (location: (1,10)-(1,15)) + │ ├── flags: ∅ │ ├── value: │ │ @ CallNode (location: (1,12)-(1,15)) │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/hash_label.txt b/test/prism/snapshots/whitequark/hash_label.txt index fdf7a21ed0..b321e21859 100644 --- a/test/prism/snapshots/whitequark/hash_label.txt +++ b/test/prism/snapshots/whitequark/hash_label.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ HashNode (location: (1,0)-(1,10)) + ├── flags: newline, static_literal ├── opening_loc: (1,0)-(1,1) = "{" ├── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,8)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,2)-(1,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,2)-(1,5) = "foo" │ │ ├── closing_loc: (1,5)-(1,6) = ":" │ │ └── unescaped: "foo" │ ├── value: │ │ @ IntegerNode (location: (1,7)-(1,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── operator_loc: ∅ └── closing_loc: (1,9)-(1,10) = "}" diff --git a/test/prism/snapshots/whitequark/hash_label_end.txt b/test/prism/snapshots/whitequark/hash_label_end.txt index 88b70d38e2..7714021dbb 100644 --- a/test/prism/snapshots/whitequark/hash_label_end.txt +++ b/test/prism/snapshots/whitequark/hash_label_end.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,22)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,12)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :f @@ -15,6 +17,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IfNode (location: (1,2)-(1,11)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: ∅ │ │ ├── predicate: │ │ │ @ CallNode (location: (1,2)-(1,3)) @@ -30,69 +33,78 @@ │ │ ├── then_keyword_loc: (1,4)-(1,5) = "?" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,6)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ StringNode (location: (1,6)-(1,9)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: newline │ │ │ ├── opening_loc: (1,6)-(1,7) = "\"" │ │ │ ├── content_loc: (1,7)-(1,8) = "a" │ │ │ ├── closing_loc: (1,8)-(1,9) = "\"" │ │ │ └── unescaped: "a" │ │ ├── consequent: │ │ │ @ ElseNode (location: (1,9)-(1,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── else_keyword_loc: (1,9)-(1,10) = ":" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,10)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── end_keyword_loc: ∅ │ │ └── end_keyword_loc: ∅ │ ├── closing_loc: (1,11)-(1,12) = ")" │ └── block: ∅ ├── @ HashNode (location: (3,0)-(3,12)) + │ ├── flags: newline, static_literal │ ├── opening_loc: (3,0)-(3,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (3,2)-(3,10)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (3,2)-(3,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (3,2)-(3,3) = "'" │ │ │ ├── value_loc: (3,3)-(3,6) = "foo" │ │ │ ├── closing_loc: (3,6)-(3,8) = "':" │ │ │ └── unescaped: "foo" │ │ ├── value: │ │ │ @ IntegerNode (location: (3,9)-(3,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: ∅ │ └── closing_loc: (3,11)-(3,12) = "}" └── @ HashNode (location: (5,0)-(5,22)) + ├── flags: newline ├── opening_loc: (5,0)-(5,1) = "{" ├── elements: (length: 2) │ ├── @ AssocNode (location: (5,2)-(5,10)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (5,2)-(5,8)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (5,2)-(5,3) = "'" │ │ │ ├── value_loc: (5,3)-(5,6) = "foo" │ │ │ ├── closing_loc: (5,6)-(5,8) = "':" │ │ │ └── unescaped: "foo" │ │ ├── value: │ │ │ @ IntegerNode (location: (5,9)-(5,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── operator_loc: ∅ │ └── @ AssocNode (location: (5,12)-(5,21)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (5,12)-(5,18)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (5,12)-(5,13) = "'" │ │ ├── value_loc: (5,13)-(5,16) = "bar" │ │ ├── closing_loc: (5,16)-(5,18) = "':" │ │ └── unescaped: "bar" │ ├── value: │ │ @ HashNode (location: (5,19)-(5,21)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (5,19)-(5,20) = "{" │ │ ├── elements: (length: 0) │ │ └── closing_loc: (5,20)-(5,21) = "}" diff --git a/test/prism/snapshots/whitequark/hash_pair_value_omission.txt b/test/prism/snapshots/whitequark/hash_pair_value_omission.txt index 455ba48407..d87b1ef0f9 100644 --- a/test/prism/snapshots/whitequark/hash_pair_value_omission.txt +++ b/test/prism/snapshots/whitequark/hash_pair_value_omission.txt @@ -1,39 +1,48 @@ @ ProgramNode (location: (1,0)-(5,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,7)) + ├── flags: ∅ └── body: (length: 3) ├── @ HashNode (location: (1,0)-(1,6)) + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (1,1)-(1,5)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (1,1)-(1,5)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,1)-(1,4) = "BAR" │ │ │ ├── closing_loc: (1,4)-(1,5) = ":" │ │ │ └── unescaped: "BAR" │ │ ├── value: │ │ │ @ ImplicitNode (location: (1,1)-(1,5)) + │ │ │ ├── flags: ∅ │ │ │ └── value: │ │ │ @ ConstantReadNode (location: (1,1)-(1,5)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :BAR │ │ └── operator_loc: ∅ │ └── closing_loc: (1,5)-(1,6) = "}" ├── @ HashNode (location: (3,0)-(3,8)) + │ ├── flags: newline │ ├── opening_loc: (3,0)-(3,1) = "{" │ ├── elements: (length: 2) │ │ ├── @ AssocNode (location: (3,1)-(3,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (3,1)-(3,3)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (3,1)-(3,2) = "a" │ │ │ │ ├── closing_loc: (3,2)-(3,3) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (3,1)-(3,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ CallNode (location: (3,1)-(3,3)) │ │ │ │ ├── flags: ignore_visibility @@ -47,15 +56,17 @@ │ │ │ │ └── block: ∅ │ │ │ └── operator_loc: ∅ │ │ └── @ AssocNode (location: (3,5)-(3,7)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (3,5)-(3,7)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (3,5)-(3,6) = "b" │ │ │ ├── closing_loc: (3,6)-(3,7) = ":" │ │ │ └── unescaped: "b" │ │ ├── value: │ │ │ @ ImplicitNode (location: (3,5)-(3,7)) + │ │ │ ├── flags: ∅ │ │ │ └── value: │ │ │ @ CallNode (location: (3,5)-(3,7)) │ │ │ ├── flags: ignore_visibility @@ -70,18 +81,21 @@ │ │ └── operator_loc: ∅ │ └── closing_loc: (3,7)-(3,8) = "}" └── @ HashNode (location: (5,0)-(5,7)) + ├── flags: newline ├── opening_loc: (5,0)-(5,1) = "{" ├── elements: (length: 1) │ └── @ AssocNode (location: (5,1)-(5,6)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (5,1)-(5,6)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (5,1)-(5,5) = "puts" │ │ ├── closing_loc: (5,5)-(5,6) = ":" │ │ └── unescaped: "puts" │ ├── value: │ │ @ ImplicitNode (location: (5,1)-(5,6)) + │ │ ├── flags: ∅ │ │ └── value: │ │ @ CallNode (location: (5,1)-(5,6)) │ │ ├── flags: ignore_visibility diff --git a/test/prism/snapshots/whitequark/heredoc.txt b/test/prism/snapshots/whitequark/heredoc.txt index 86543097ee..76b3e94a92 100644 --- a/test/prism/snapshots/whitequark/heredoc.txt +++ b/test/prism/snapshots/whitequark/heredoc.txt @@ -1,22 +1,24 @@ @ ProgramNode (location: (1,0)-(11,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(11,8)) + ├── flags: ∅ └── body: (length: 3) ├── @ StringNode (location: (1,0)-(1,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,8) = "<<'HERE'" │ ├── content_loc: (2,0)-(4,0) = "foo\nbar\n" │ ├── closing_loc: (4,0)-(5,0) = "HERE\n" │ └── unescaped: "foo\nbar\n" ├── @ StringNode (location: (6,0)-(6,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (6,0)-(6,6) = "<<HERE" │ ├── content_loc: (7,0)-(9,0) = "foo\nbar\n" │ ├── closing_loc: (9,0)-(10,0) = "HERE\n" │ └── unescaped: "foo\nbar\n" └── @ XStringNode (location: (11,0)-(11,8)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (11,0)-(11,8) = "<<`HERE`" ├── content_loc: (12,0)-(14,0) = "foo\nbar\n" ├── closing_loc: (14,0)-(15,0) = "HERE\n" diff --git a/test/prism/snapshots/whitequark/if.txt b/test/prism/snapshots/whitequark/if.txt index 809a100f8c..69daec96f8 100644 --- a/test/prism/snapshots/whitequark/if.txt +++ b/test/prism/snapshots/whitequark/if.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,16)) + ├── flags: ∅ └── body: (length: 2) ├── @ IfNode (location: (1,0)-(1,20)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ CallNode (location: (1,3)-(1,6)) @@ -19,9 +22,10 @@ │ ├── then_keyword_loc: (1,7)-(1,11) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,12)-(1,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,12)-(1,15)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -33,6 +37,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (1,17)-(1,20) = "end" └── @ IfNode (location: (3,0)-(3,16)) + ├── flags: newline ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ CallNode (location: (3,3)-(3,6)) @@ -48,9 +53,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,8)-(3,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (3,8)-(3,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/if_else.txt b/test/prism/snapshots/whitequark/if_else.txt index c7dab47f13..f40fd25ff4 100644 --- a/test/prism/snapshots/whitequark/if_else.txt +++ b/test/prism/snapshots/whitequark/if_else.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,26)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,26)) + ├── flags: ∅ └── body: (length: 2) ├── @ IfNode (location: (1,0)-(1,30)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,0)-(1,2) = "if" │ ├── predicate: │ │ @ CallNode (location: (1,3)-(1,6)) @@ -19,9 +22,10 @@ │ ├── then_keyword_loc: (1,7)-(1,11) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,12)-(1,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,12)-(1,15)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -32,12 +36,14 @@ │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,17)-(1,30)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (1,17)-(1,21) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,22)-(1,25)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,22)-(1,25)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -49,6 +55,7 @@ │ │ └── end_keyword_loc: (1,27)-(1,30) = "end" │ └── end_keyword_loc: (1,27)-(1,30) = "end" └── @ IfNode (location: (3,0)-(3,26)) + ├── flags: newline ├── if_keyword_loc: (3,0)-(3,2) = "if" ├── predicate: │ @ CallNode (location: (3,3)-(3,6)) @@ -64,9 +71,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,8)-(3,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (3,8)-(3,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -77,12 +85,14 @@ │ └── block: ∅ ├── consequent: │ @ ElseNode (location: (3,13)-(3,26)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (3,13)-(3,17) = "else" │ ├── statements: │ │ @ StatementsNode (location: (3,18)-(3,21)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,18)-(3,21)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz diff --git a/test/prism/snapshots/whitequark/if_elsif.txt b/test/prism/snapshots/whitequark/if_elsif.txt index 1bd1ab7f42..6cc88a8727 100644 --- a/test/prism/snapshots/whitequark/if_elsif.txt +++ b/test/prism/snapshots/whitequark/if_elsif.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,38)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,38)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,38)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,6)) @@ -19,9 +22,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,8)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,8)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -32,6 +36,7 @@ │ └── block: ∅ ├── consequent: │ @ IfNode (location: (1,13)-(1,38)) + │ ├── flags: newline │ ├── if_keyword_loc: (1,13)-(1,18) = "elsif" │ ├── predicate: │ │ @ CallNode (location: (1,19)-(1,22)) @@ -47,18 +52,21 @@ │ ├── then_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,24)-(1,25)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,24)-(1,25)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── consequent: │ │ @ ElseNode (location: (1,27)-(1,38)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (1,27)-(1,31) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,32)-(1,33)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (1,32)-(1,33)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 2 │ │ └── end_keyword_loc: (1,35)-(1,38) = "end" │ └── end_keyword_loc: (1,35)-(1,38) = "end" diff --git a/test/prism/snapshots/whitequark/if_masgn__24.txt b/test/prism/snapshots/whitequark/if_masgn__24.txt index c76a93574d..885c2b6eec 100644 --- a/test/prism/snapshots/whitequark/if_masgn__24.txt +++ b/test/prism/snapshots/whitequark/if_masgn__24.txt @@ -1,21 +1,29 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,20)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ ParenthesesNode (location: (1,3)-(1,15)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,4)-(1,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ MultiWriteNode (location: (1,4)-(1,14)) + │ │ ├── flags: newline │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (1,4)-(1,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (1,7)-(1,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/if_mod.txt b/test/prism/snapshots/whitequark/if_mod.txt index 241918f020..a97438ba28 100644 --- a/test/prism/snapshots/whitequark/if_mod.txt +++ b/test/prism/snapshots/whitequark/if_mod.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,10)) + ├── flags: newline ├── if_keyword_loc: (1,4)-(1,6) = "if" ├── predicate: │ @ CallNode (location: (1,7)-(1,10)) @@ -19,9 +22,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,0)-(1,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,0)-(1,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/if_nl_then.txt b/test/prism/snapshots/whitequark/if_nl_then.txt index fbbafe7390..7a6140bcc8 100644 --- a/test/prism/snapshots/whitequark/if_nl_then.txt +++ b/test/prism/snapshots/whitequark/if_nl_then.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(2,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,12)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(2,12)) + ├── flags: newline ├── if_keyword_loc: (1,0)-(1,2) = "if" ├── predicate: │ @ CallNode (location: (1,3)-(1,6)) @@ -19,9 +22,10 @@ ├── then_keyword_loc: (2,0)-(2,4) = "then" ├── statements: │ @ StatementsNode (location: (2,5)-(2,8)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (2,5)-(2,8)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/int.txt b/test/prism/snapshots/whitequark/int.txt index 6fee32f117..b62b287a98 100644 --- a/test/prism/snapshots/whitequark/int.txt +++ b/test/prism/snapshots/whitequark/int.txt @@ -1,14 +1,16 @@ @ ProgramNode (location: (1,0)-(5,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,2)) + ├── flags: ∅ └── body: (length: 3) ├── @ IntegerNode (location: (1,0)-(1,3)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 42 ├── @ IntegerNode (location: (3,0)-(3,3)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: -42 └── @ IntegerNode (location: (5,0)-(5,2)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal └── value: 42 diff --git a/test/prism/snapshots/whitequark/int___LINE__.txt b/test/prism/snapshots/whitequark/int___LINE__.txt index bf2ea47102..fa4c249e86 100644 --- a/test/prism/snapshots/whitequark/int___LINE__.txt +++ b/test/prism/snapshots/whitequark/int___LINE__.txt @@ -1,6 +1,9 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ SourceLineNode (location: (1,0)-(1,8)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/whitequark/interp_digit_var.txt b/test/prism/snapshots/whitequark/interp_digit_var.txt index 09d9098105..7e8a3a2f31 100644 --- a/test/prism/snapshots/whitequark/interp_digit_var.txt +++ b/test/prism/snapshots/whitequark/interp_digit_var.txt @@ -1,25 +1,27 @@ @ ProgramNode (location: (1,1)-(85,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,1)-(85,9)) + ├── flags: ∅ └── body: (length: 38) ├── @ StringNode (location: (1,1)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,1)-(1,2) = "\"" │ ├── content_loc: (1,2)-(1,5) = "\#@1" │ ├── closing_loc: (1,5)-(1,6) = "\"" │ └── unescaped: "\#@1" ├── @ StringNode (location: (3,1)-(3,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (3,1)-(3,2) = "\"" │ ├── content_loc: (3,2)-(3,6) = "\#@@1" │ ├── closing_loc: (3,6)-(3,7) = "\"" │ └── unescaped: "\#@@1" ├── @ ArrayNode (location: (5,1)-(5,8)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (5,4)-(5,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (5,4)-(5,7) = "\#@1" │ │ ├── closing_loc: ∅ @@ -27,10 +29,10 @@ │ ├── opening_loc: (5,1)-(5,4) = "%I[" │ └── closing_loc: (5,7)-(5,8) = "]" ├── @ ArrayNode (location: (7,1)-(7,9)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (7,4)-(7,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (7,4)-(7,8) = "\#@@1" │ │ ├── closing_loc: ∅ @@ -38,19 +40,19 @@ │ ├── opening_loc: (7,1)-(7,4) = "%I[" │ └── closing_loc: (7,8)-(7,9) = "]" ├── @ StringNode (location: (9,1)-(9,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (9,1)-(9,4) = "%Q{" │ ├── content_loc: (9,4)-(9,7) = "\#@1" │ ├── closing_loc: (9,7)-(9,8) = "}" │ └── unescaped: "\#@1" ├── @ StringNode (location: (11,1)-(11,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (11,1)-(11,4) = "%Q{" │ ├── content_loc: (11,4)-(11,8) = "\#@@1" │ ├── closing_loc: (11,8)-(11,9) = "}" │ └── unescaped: "\#@@1" ├── @ ArrayNode (location: (13,1)-(13,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (13,4)-(13,7)) │ │ ├── flags: ∅ @@ -61,7 +63,7 @@ │ ├── opening_loc: (13,1)-(13,4) = "%W[" │ └── closing_loc: (13,7)-(13,8) = "]" ├── @ ArrayNode (location: (15,1)-(15,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (15,4)-(15,8)) │ │ ├── flags: ∅ @@ -72,10 +74,10 @@ │ ├── opening_loc: (15,1)-(15,4) = "%W[" │ └── closing_loc: (15,8)-(15,9) = "]" ├── @ ArrayNode (location: (17,1)-(17,10)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (17,5)-(17,8)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (17,5)-(17,8) = "\#@1" │ │ ├── closing_loc: ∅ @@ -83,10 +85,10 @@ │ ├── opening_loc: (17,1)-(17,4) = "%i[" │ └── closing_loc: (17,9)-(17,10) = "]" ├── @ ArrayNode (location: (19,1)-(19,11)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (19,5)-(19,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (19,5)-(19,9) = "\#@@1" │ │ ├── closing_loc: ∅ @@ -94,43 +96,43 @@ │ ├── opening_loc: (19,1)-(19,4) = "%i[" │ └── closing_loc: (19,10)-(19,11) = "]" ├── @ StringNode (location: (21,1)-(21,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (21,1)-(21,4) = "%q{" │ ├── content_loc: (21,4)-(21,7) = "\#@1" │ ├── closing_loc: (21,7)-(21,8) = "}" │ └── unescaped: "\#@1" ├── @ StringNode (location: (23,1)-(23,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (23,1)-(23,4) = "%q{" │ ├── content_loc: (23,4)-(23,8) = "\#@@1" │ ├── closing_loc: (23,8)-(23,9) = "}" │ └── unescaped: "\#@@1" ├── @ RegularExpressionNode (location: (25,1)-(25,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (25,1)-(25,4) = "%r{" │ ├── content_loc: (25,4)-(25,7) = "\#@1" │ ├── closing_loc: (25,7)-(25,8) = "}" │ └── unescaped: "\#@1" ├── @ RegularExpressionNode (location: (27,1)-(27,9)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (27,1)-(27,4) = "%r{" │ ├── content_loc: (27,4)-(27,8) = "\#@@1" │ ├── closing_loc: (27,8)-(27,9) = "}" │ └── unescaped: "\#@@1" ├── @ SymbolNode (location: (29,1)-(29,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (29,1)-(29,4) = "%s{" │ ├── value_loc: (29,4)-(29,7) = "\#@1" │ ├── closing_loc: (29,7)-(29,8) = "}" │ └── unescaped: "\#@1" ├── @ SymbolNode (location: (31,1)-(31,9)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (31,1)-(31,4) = "%s{" │ ├── value_loc: (31,4)-(31,8) = "\#@@1" │ ├── closing_loc: (31,8)-(31,9) = "}" │ └── unescaped: "\#@@1" ├── @ ArrayNode (location: (33,1)-(33,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (33,5)-(33,8)) │ │ ├── flags: ∅ @@ -141,7 +143,7 @@ │ ├── opening_loc: (33,1)-(33,4) = "%w[" │ └── closing_loc: (33,9)-(33,10) = "]" ├── @ ArrayNode (location: (35,1)-(35,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (35,5)-(35,9)) │ │ ├── flags: ∅ @@ -152,121 +154,121 @@ │ ├── opening_loc: (35,1)-(35,4) = "%w[" │ └── closing_loc: (35,10)-(35,11) = "]" ├── @ XStringNode (location: (37,1)-(37,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (37,1)-(37,4) = "%x{" │ ├── content_loc: (37,4)-(37,7) = "\#@1" │ ├── closing_loc: (37,7)-(37,8) = "}" │ └── unescaped: "\#@1" ├── @ XStringNode (location: (39,1)-(39,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (39,1)-(39,4) = "%x{" │ ├── content_loc: (39,4)-(39,8) = "\#@@1" │ ├── closing_loc: (39,8)-(39,9) = "}" │ └── unescaped: "\#@@1" ├── @ StringNode (location: (41,1)-(41,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (41,1)-(41,3) = "%{" │ ├── content_loc: (41,3)-(41,6) = "\#@1" │ ├── closing_loc: (41,6)-(41,7) = "}" │ └── unescaped: "\#@1" ├── @ StringNode (location: (43,1)-(43,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (43,1)-(43,3) = "%{" │ ├── content_loc: (43,3)-(43,7) = "\#@@1" │ ├── closing_loc: (43,7)-(43,8) = "}" │ └── unescaped: "\#@@1" ├── @ StringNode (location: (45,1)-(45,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (45,1)-(45,2) = "'" │ ├── content_loc: (45,2)-(45,5) = "\#@1" │ ├── closing_loc: (45,5)-(45,6) = "'" │ └── unescaped: "\#@1" ├── @ StringNode (location: (47,1)-(47,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (47,1)-(47,2) = "'" │ ├── content_loc: (47,2)-(47,6) = "\#@@1" │ ├── closing_loc: (47,6)-(47,7) = "'" │ └── unescaped: "\#@@1" ├── @ RegularExpressionNode (location: (49,1)-(49,6)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (49,1)-(49,2) = "/" │ ├── content_loc: (49,2)-(49,5) = "\#@1" │ ├── closing_loc: (49,5)-(49,6) = "/" │ └── unescaped: "\#@1" ├── @ RegularExpressionNode (location: (51,1)-(51,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (51,1)-(51,2) = "/" │ ├── content_loc: (51,2)-(51,6) = "\#@@1" │ ├── closing_loc: (51,6)-(51,7) = "/" │ └── unescaped: "\#@@1" ├── @ SymbolNode (location: (53,1)-(53,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (53,1)-(53,3) = ":\"" │ ├── value_loc: (53,3)-(53,6) = "\#@1" │ ├── closing_loc: (53,6)-(53,7) = "\"" │ └── unescaped: "\#@1" ├── @ SymbolNode (location: (55,1)-(55,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (55,1)-(55,3) = ":\"" │ ├── value_loc: (55,3)-(55,7) = "\#@@1" │ ├── closing_loc: (55,7)-(55,8) = "\"" │ └── unescaped: "\#@@1" ├── @ SymbolNode (location: (57,1)-(57,7)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (57,1)-(57,3) = ":'" │ ├── value_loc: (57,3)-(57,6) = "\#@1" │ ├── closing_loc: (57,6)-(57,7) = "'" │ └── unescaped: "\#@1" ├── @ SymbolNode (location: (59,1)-(59,8)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (59,1)-(59,3) = ":'" │ ├── value_loc: (59,3)-(59,7) = "\#@@1" │ ├── closing_loc: (59,7)-(59,8) = "'" │ └── unescaped: "\#@@1" ├── @ XStringNode (location: (61,1)-(61,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (61,1)-(61,2) = "`" │ ├── content_loc: (61,2)-(61,5) = "\#@1" │ ├── closing_loc: (61,5)-(61,6) = "`" │ └── unescaped: "\#@1" ├── @ XStringNode (location: (63,1)-(63,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (63,1)-(63,2) = "`" │ ├── content_loc: (63,2)-(63,6) = "\#@@1" │ ├── closing_loc: (63,6)-(63,7) = "`" │ └── unescaped: "\#@@1" ├── @ StringNode (location: (65,0)-(65,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (65,0)-(65,9) = "<<-\"HERE\"" │ ├── content_loc: (66,0)-(67,0) = "\#@1\n" │ ├── closing_loc: (67,0)-(68,0) = "HERE\n" │ └── unescaped: "\#@1\n" ├── @ StringNode (location: (69,0)-(69,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (69,0)-(69,9) = "<<-\"HERE\"" │ ├── content_loc: (70,0)-(71,0) = "\#@@1\n" │ ├── closing_loc: (71,0)-(72,0) = "HERE\n" │ └── unescaped: "\#@@1\n" ├── @ StringNode (location: (73,0)-(73,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (73,0)-(73,9) = "<<-'HERE'" │ ├── content_loc: (74,0)-(75,0) = "\#@1\n" │ ├── closing_loc: (75,0)-(76,0) = "HERE\n" │ └── unescaped: "\#@1\n" ├── @ StringNode (location: (77,0)-(77,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (77,0)-(77,9) = "<<-'HERE'" │ ├── content_loc: (78,0)-(79,0) = "\#@@1\n" │ ├── closing_loc: (79,0)-(80,0) = "HERE\n" │ └── unescaped: "\#@@1\n" ├── @ XStringNode (location: (81,0)-(81,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (81,0)-(81,9) = "<<-`HERE`" │ ├── content_loc: (82,0)-(83,0) = "\#@1\n" │ ├── closing_loc: (83,0)-(84,0) = "HERE\n" │ └── unescaped: "\#@1\n" └── @ XStringNode (location: (85,0)-(85,9)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (85,0)-(85,9) = "<<-`HERE`" ├── content_loc: (86,0)-(87,0) = "\#@@1\n" ├── closing_loc: (87,0)-(88,0) = "HERE\n" diff --git a/test/prism/snapshots/whitequark/ivar.txt b/test/prism/snapshots/whitequark/ivar.txt index 9c70e6e959..6a0a03dd5e 100644 --- a/test/prism/snapshots/whitequark/ivar.txt +++ b/test/prism/snapshots/whitequark/ivar.txt @@ -1,7 +1,10 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ InstanceVariableReadNode (location: (1,0)-(1,4)) + ├── flags: newline └── name: :@foo diff --git a/test/prism/snapshots/whitequark/ivasgn.txt b/test/prism/snapshots/whitequark/ivasgn.txt index 2b57f39554..cc16bdd4e6 100644 --- a/test/prism/snapshots/whitequark/ivasgn.txt +++ b/test/prism/snapshots/whitequark/ivasgn.txt @@ -1,13 +1,16 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ InstanceVariableWriteNode (location: (1,0)-(1,9)) + ├── flags: newline ├── name: :@var ├── name_loc: (1,0)-(1,4) = "@var" ├── value: │ @ IntegerNode (location: (1,7)-(1,9)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 10 └── operator_loc: (1,5)-(1,6) = "=" diff --git a/test/prism/snapshots/whitequark/keyword_argument_omission.txt b/test/prism/snapshots/whitequark/keyword_argument_omission.txt index 446b45b56b..ac32216061 100644 --- a/test/prism/snapshots/whitequark/keyword_argument_omission.txt +++ b/test/prism/snapshots/whitequark/keyword_argument_omission.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo @@ -18,15 +20,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 2) │ ├── @ AssocNode (location: (1,4)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (1,4)-(1,6)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,4)-(1,5) = "a" │ │ │ ├── closing_loc: (1,5)-(1,6) = ":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ ImplicitNode (location: (1,4)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ └── value: │ │ │ @ CallNode (location: (1,4)-(1,6)) │ │ │ ├── flags: ignore_visibility @@ -40,15 +44,17 @@ │ │ │ └── block: ∅ │ │ └── operator_loc: ∅ │ └── @ AssocNode (location: (1,8)-(1,10)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (1,8)-(1,10)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,8)-(1,9) = "b" │ │ ├── closing_loc: (1,9)-(1,10) = ":" │ │ └── unescaped: "b" │ ├── value: │ │ @ ImplicitNode (location: (1,8)-(1,10)) + │ │ ├── flags: ∅ │ │ └── value: │ │ @ CallNode (location: (1,8)-(1,10)) │ │ ├── flags: ignore_visibility diff --git a/test/prism/snapshots/whitequark/kwarg.txt b/test/prism/snapshots/whitequark/kwarg.txt index 5969402356..aaa55b680a 100644 --- a/test/prism/snapshots/whitequark/kwarg.txt +++ b/test/prism/snapshots/whitequark/kwarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,16)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,10)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/kwbegin_compstmt.txt b/test/prism/snapshots/whitequark/kwbegin_compstmt.txt index 376e628f8e..690c790966 100644 --- a/test/prism/snapshots/whitequark/kwbegin_compstmt.txt +++ b/test/prism/snapshots/whitequark/kwbegin_compstmt.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,20)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,20)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,6)-(1,16)) + │ ├── flags: ∅ │ └── body: (length: 2) │ ├── @ CallNode (location: (1,6)-(1,10)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo! @@ -19,7 +23,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── @ CallNode (location: (1,12)-(1,16)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar! diff --git a/test/prism/snapshots/whitequark/kwnilarg.txt b/test/prism/snapshots/whitequark/kwnilarg.txt index 492f817696..028fe07e74 100644 --- a/test/prism/snapshots/whitequark/kwnilarg.txt +++ b/test/prism/snapshots/whitequark/kwnilarg.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(5,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,13)) + ├── flags: ∅ └── body: (length: 3) ├── @ LambdaNode (location: (1,0)-(1,12)) + │ ├── flags: newline │ ├── locals: [] │ ├── operator_loc: (1,0)-(1,2) = "->" │ ├── opening_loc: (1,10)-(1,11) = "{" │ ├── closing_loc: (1,11)-(1,12) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,2)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,3)-(1,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -19,6 +24,7 @@ │ │ │ ├── keywords: (length: 0) │ │ │ ├── keyword_rest: │ │ │ │ @ NoKeywordsParameterNode (location: (1,3)-(1,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── operator_loc: (1,3)-(1,5) = "**" │ │ │ │ └── keyword_loc: (1,5)-(1,8) = "nil" │ │ │ └── block: ∅ @@ -27,11 +33,13 @@ │ │ └── closing_loc: (1,8)-(1,9) = ")" │ └── body: ∅ ├── @ DefNode (location: (3,0)-(3,17)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (3,4)-(3,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (3,6)-(3,11)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -39,6 +47,7 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ NoKeywordsParameterNode (location: (3,6)-(3,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (3,6)-(3,8) = "**" │ │ │ └── keyword_loc: (3,8)-(3,11) = "nil" │ │ └── block: ∅ @@ -51,7 +60,7 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,14)-(3,17) = "end" └── @ CallNode (location: (5,0)-(5,13)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -61,11 +70,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (5,2)-(5,13)) + ├── flags: ∅ ├── locals: [] ├── parameters: │ @ BlockParametersNode (location: (5,4)-(5,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (5,5)-(5,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -73,6 +85,7 @@ │ │ ├── keywords: (length: 0) │ │ ├── keyword_rest: │ │ │ @ NoKeywordsParameterNode (location: (5,5)-(5,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (5,5)-(5,7) = "**" │ │ │ └── keyword_loc: (5,7)-(5,10) = "nil" │ │ └── block: ∅ diff --git a/test/prism/snapshots/whitequark/kwoptarg.txt b/test/prism/snapshots/whitequark/kwoptarg.txt index 9c2c4f9c4c..010d82c930 100644 --- a/test/prism/snapshots/whitequark/kwoptarg.txt +++ b/test/prism/snapshots/whitequark/kwoptarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,18)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -20,7 +24,7 @@ │ │ ├── name_loc: (1,6)-(1,10) = "foo:" │ │ └── value: │ │ @ IntegerNode (location: (1,11)-(1,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── keyword_rest: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt b/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt index db281e2f0d..b233427556 100644 --- a/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt +++ b/test/prism/snapshots/whitequark/kwoptarg_with_kwrestarg_and_forwarded_args.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,28)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,28)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,16)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ @@ -20,6 +24,7 @@ │ │ ├── name_loc: (1,6)-(1,8) = "a:" │ │ └── value: │ │ @ NilNode (location: (1,9)-(1,12)) + │ │ └── flags: static_literal │ ├── keyword_rest: │ │ @ KeywordRestParameterNode (location: (1,14)-(1,16)) │ │ ├── flags: ∅ @@ -29,9 +34,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,19)-(1,24)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,19)-(1,24)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :b @@ -45,6 +51,7 @@ │ │ ├── flags: ∅ │ │ └── elements: (length: 1) │ │ └── @ AssocSplatNode (location: (1,21)-(1,23)) + │ │ ├── flags: ∅ │ │ ├── value: ∅ │ │ └── operator_loc: (1,21)-(1,23) = "**" │ ├── closing_loc: (1,23)-(1,24) = ")" diff --git a/test/prism/snapshots/whitequark/kwrestarg_named.txt b/test/prism/snapshots/whitequark/kwrestarg_named.txt index d24426aed5..3f411208aa 100644 --- a/test/prism/snapshots/whitequark/kwrestarg_named.txt +++ b/test/prism/snapshots/whitequark/kwrestarg_named.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,17)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,11)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/kwrestarg_unnamed.txt b/test/prism/snapshots/whitequark/kwrestarg_unnamed.txt index d471e5ab09..6fc42b0e80 100644 --- a/test/prism/snapshots/whitequark/kwrestarg_unnamed.txt +++ b/test/prism/snapshots/whitequark/kwrestarg_unnamed.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,14)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,8)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt b/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt index f877fcd270..9132ab64ab 100644 --- a/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt +++ b/test/prism/snapshots/whitequark/lbrace_arg_after_command_args.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,22)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,22)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :let @@ -15,11 +17,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,4)-(1,8)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,5)-(1,7)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (1,5)-(1,7)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,5)-(1,6) = ":" │ │ ├── value_loc: (1,6)-(1,7) = "a" │ │ ├── closing_loc: ∅ @@ -29,13 +33,15 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,9)-(1,22)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,11)-(1,20)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,11)-(1,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -45,6 +51,7 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,13)-(1,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt b/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt index afddc9cd3c..4c11a17f86 100644 --- a/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt +++ b/test/prism/snapshots/whitequark/lparenarg_after_lvar__since_25.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,15)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,14)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo @@ -18,10 +20,13 @@ │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ ParenthesesNode (location: (1,4)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (1,5)-(1,9)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ FloatNode (location: (1,5)-(1,9)) + │ │ │ │ ├── flags: newline, static_literal │ │ │ │ └── value: -1.3 │ │ │ ├── opening_loc: (1,4)-(1,5) = "(" │ │ │ └── closing_loc: (1,9)-(1,10) = ")" @@ -35,7 +40,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,15)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :meth @@ -49,10 +54,13 @@ │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (3,5)-(3,11)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (3,6)-(3,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ FloatNode (location: (3,6)-(3,10)) + │ │ │ ├── flags: newline, static_literal │ │ │ └── value: -1.3 │ │ ├── opening_loc: (3,5)-(3,6) = "(" │ │ └── closing_loc: (3,10)-(3,11) = ")" diff --git a/test/prism/snapshots/whitequark/lvar.txt b/test/prism/snapshots/whitequark/lvar.txt index afceb6a1a4..3de3483075 100644 --- a/test/prism/snapshots/whitequark/lvar.txt +++ b/test/prism/snapshots/whitequark/lvar.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,3)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :foo diff --git a/test/prism/snapshots/whitequark/lvar_injecting_match.txt b/test/prism/snapshots/whitequark/lvar_injecting_match.txt index 0d1df23d0d..d7a3015279 100644 --- a/test/prism/snapshots/whitequark/lvar_injecting_match.txt +++ b/test/prism/snapshots/whitequark/lvar_injecting_match.txt @@ -1,15 +1,18 @@ @ ProgramNode (location: (1,0)-(1,31)) +├── flags: ∅ ├── locals: [:match] └── statements: @ StatementsNode (location: (1,0)-(1,31)) + ├── flags: ∅ └── body: (length: 2) ├── @ MatchWriteNode (location: (1,0)-(1,24)) + │ ├── flags: newline │ ├── call: │ │ @ CallNode (location: (1,0)-(1,24)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ RegularExpressionNode (location: (1,0)-(1,15)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (1,0)-(1,1) = "/" │ │ │ ├── content_loc: (1,1)-(1,14) = "(?<match>bar)" │ │ │ ├── closing_loc: (1,14)-(1,15) = "/" @@ -32,8 +35,10 @@ │ │ └── block: ∅ │ └── targets: (length: 1) │ └── @ LocalVariableTargetNode (location: (1,4)-(1,9)) + │ ├── flags: ∅ │ ├── name: :match │ └── depth: 0 └── @ LocalVariableReadNode (location: (1,26)-(1,31)) + ├── flags: newline ├── name: :match └── depth: 0 diff --git a/test/prism/snapshots/whitequark/lvasgn.txt b/test/prism/snapshots/whitequark/lvasgn.txt index be35c00587..43cb251bd5 100644 --- a/test/prism/snapshots/whitequark/lvasgn.txt +++ b/test/prism/snapshots/whitequark/lvasgn.txt @@ -1,17 +1,21 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [:var] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 2) ├── @ LocalVariableWriteNode (location: (1,0)-(1,8)) + │ ├── flags: newline │ ├── name: :var │ ├── depth: 0 │ ├── name_loc: (1,0)-(1,3) = "var" │ ├── value: │ │ @ IntegerNode (location: (1,6)-(1,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 10 │ └── operator_loc: (1,4)-(1,5) = "=" └── @ LocalVariableReadNode (location: (1,10)-(1,13)) + ├── flags: newline ├── name: :var └── depth: 0 diff --git a/test/prism/snapshots/whitequark/masgn.txt b/test/prism/snapshots/whitequark/masgn.txt index 32e46bfdf7..a7ce7f5691 100644 --- a/test/prism/snapshots/whitequark/masgn.txt +++ b/test/prism/snapshots/whitequark/masgn.txt @@ -1,14 +1,19 @@ @ ProgramNode (location: (1,0)-(5,20)) +├── flags: ∅ ├── locals: [:foo, :bar, :baz] └── statements: @ StatementsNode (location: (1,0)-(5,20)) + ├── flags: ∅ └── body: (length: 3) ├── @ MultiWriteNode (location: (1,0)-(1,17)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (1,1)-(1,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (1,6)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── name: :bar │ │ └── depth: 0 │ ├── rest: ∅ @@ -18,22 +23,25 @@ │ ├── operator_loc: (1,11)-(1,12) = "=" │ └── value: │ @ ArrayNode (location: (1,13)-(1,17)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (1,13)-(1,14)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (1,16)-(1,17)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (3,0)-(3,15)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (3,0)-(3,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (3,5)-(3,8)) + │ │ ├── flags: ∅ │ │ ├── name: :bar │ │ └── depth: 0 │ ├── rest: ∅ @@ -43,25 +51,29 @@ │ ├── operator_loc: (3,9)-(3,10) = "=" │ └── value: │ @ ArrayNode (location: (3,11)-(3,15)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── elements: (length: 2) │ │ ├── @ IntegerNode (location: (3,11)-(3,12)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ IntegerNode (location: (3,14)-(3,15)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── opening_loc: ∅ │ └── closing_loc: ∅ └── @ MultiWriteNode (location: (5,0)-(5,20)) + ├── flags: newline ├── lefts: (length: 3) │ ├── @ LocalVariableTargetNode (location: (5,0)-(5,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── @ LocalVariableTargetNode (location: (5,5)-(5,8)) + │ │ ├── flags: ∅ │ │ ├── name: :bar │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (5,10)-(5,13)) + │ ├── flags: ∅ │ ├── name: :baz │ └── depth: 0 ├── rest: ∅ @@ -71,13 +83,13 @@ ├── operator_loc: (5,14)-(5,15) = "=" └── value: @ ArrayNode (location: (5,16)-(5,20)) - ├── flags: ∅ + ├── flags: static_literal ├── elements: (length: 2) │ ├── @ IntegerNode (location: (5,16)-(5,17)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ IntegerNode (location: (5,19)-(5,20)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── opening_loc: ∅ └── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/masgn_attr.txt b/test/prism/snapshots/whitequark/masgn_attr.txt index f4f4276597..4e7b85e960 100644 --- a/test/prism/snapshots/whitequark/masgn_attr.txt +++ b/test/prism/snapshots/whitequark/masgn_attr.txt @@ -1,18 +1,23 @@ @ ProgramNode (location: (1,0)-(5,18)) +├── flags: ∅ ├── locals: [:foo] └── statements: @ StatementsNode (location: (1,0)-(5,18)) + ├── flags: ∅ └── body: (length: 3) ├── @ MultiWriteNode (location: (1,0)-(1,17)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ CallTargetNode (location: (1,0)-(1,6)) │ │ │ ├── flags: ignore_visibility │ │ │ ├── receiver: │ │ │ │ @ SelfNode (location: (1,0)-(1,4)) + │ │ │ │ └── flags: ∅ │ │ │ ├── call_operator_loc: (1,4)-(1,5) = "." │ │ │ ├── name: :A= │ │ │ └── message_loc: (1,5)-(1,6) = "A" │ │ └── @ LocalVariableTargetNode (location: (1,8)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── rest: ∅ @@ -22,14 +27,17 @@ │ ├── operator_loc: (1,12)-(1,13) = "=" │ └── value: │ @ LocalVariableReadNode (location: (1,14)-(1,17)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 ├── @ MultiWriteNode (location: (3,0)-(3,24)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ CallTargetNode (location: (3,0)-(3,6)) │ │ │ ├── flags: ignore_visibility │ │ │ ├── receiver: │ │ │ │ @ SelfNode (location: (3,0)-(3,4)) + │ │ │ │ └── flags: ∅ │ │ │ ├── call_operator_loc: (3,4)-(3,5) = "." │ │ │ ├── name: :a= │ │ │ └── message_loc: (3,5)-(3,6) = "a" @@ -37,16 +45,17 @@ │ │ ├── flags: attribute_write, ignore_visibility │ │ ├── receiver: │ │ │ @ SelfNode (location: (3,8)-(3,12)) + │ │ │ └── flags: ∅ │ │ ├── opening_loc: (3,12)-(3,13) = "[" │ │ ├── arguments: │ │ │ @ ArgumentsNode (location: (3,13)-(3,17)) │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 2) │ │ │ ├── @ IntegerNode (location: (3,13)-(3,14)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (3,16)-(3,17)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: (3,17)-(3,18) = "]" │ │ └── block: ∅ @@ -57,18 +66,22 @@ │ ├── operator_loc: (3,19)-(3,20) = "=" │ └── value: │ @ LocalVariableReadNode (location: (3,21)-(3,24)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 └── @ MultiWriteNode (location: (5,0)-(5,18)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ CallTargetNode (location: (5,0)-(5,7)) │ │ ├── flags: ignore_visibility │ │ ├── receiver: │ │ │ @ SelfNode (location: (5,0)-(5,4)) + │ │ │ └── flags: ∅ │ │ ├── call_operator_loc: (5,4)-(5,6) = "::" │ │ ├── name: :a= │ │ └── message_loc: (5,6)-(5,7) = "a" │ └── @ LocalVariableTargetNode (location: (5,9)-(5,12)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 ├── rest: ∅ @@ -78,5 +91,6 @@ ├── operator_loc: (5,13)-(5,14) = "=" └── value: @ LocalVariableReadNode (location: (5,15)-(5,18)) + ├── flags: ∅ ├── name: :foo └── depth: 0 diff --git a/test/prism/snapshots/whitequark/masgn_cmd.txt b/test/prism/snapshots/whitequark/masgn_cmd.txt index 1c62658ab2..8ca2afbba0 100644 --- a/test/prism/snapshots/whitequark/masgn_cmd.txt +++ b/test/prism/snapshots/whitequark/masgn_cmd.txt @@ -1,14 +1,19 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [:foo, :bar] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,16)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,5)-(1,8)) + │ ├── flags: ∅ │ ├── name: :bar │ └── depth: 0 ├── rest: ∅ @@ -29,6 +34,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LocalVariableReadNode (location: (1,13)-(1,16)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/masgn_const.txt b/test/prism/snapshots/whitequark/masgn_const.txt index ddfccb0d8b..160b0b0f03 100644 --- a/test/prism/snapshots/whitequark/masgn_const.txt +++ b/test/prism/snapshots/whitequark/masgn_const.txt @@ -1,16 +1,21 @@ @ ProgramNode (location: (1,0)-(3,18)) +├── flags: ∅ ├── locals: [:foo] └── statements: @ StatementsNode (location: (1,0)-(3,18)) + ├── flags: ∅ └── body: (length: 2) ├── @ MultiWriteNode (location: (1,0)-(1,14)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ ConstantPathTargetNode (location: (1,0)-(1,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: ∅ │ │ │ ├── name: :A │ │ │ ├── delimiter_loc: (1,0)-(1,2) = "::" │ │ │ └── name_loc: (1,2)-(1,3) = "A" │ │ └── @ LocalVariableTargetNode (location: (1,5)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── rest: ∅ @@ -20,17 +25,22 @@ │ ├── operator_loc: (1,9)-(1,10) = "=" │ └── value: │ @ LocalVariableReadNode (location: (1,11)-(1,14)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 └── @ MultiWriteNode (location: (3,0)-(3,18)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ ConstantPathTargetNode (location: (3,0)-(3,7)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ SelfNode (location: (3,0)-(3,4)) + │ │ │ └── flags: ∅ │ │ ├── name: :A │ │ ├── delimiter_loc: (3,4)-(3,6) = "::" │ │ └── name_loc: (3,6)-(3,7) = "A" │ └── @ LocalVariableTargetNode (location: (3,9)-(3,12)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 ├── rest: ∅ @@ -40,5 +50,6 @@ ├── operator_loc: (3,13)-(3,14) = "=" └── value: @ LocalVariableReadNode (location: (3,15)-(3,18)) + ├── flags: ∅ ├── name: :foo └── depth: 0 diff --git a/test/prism/snapshots/whitequark/masgn_nested.txt b/test/prism/snapshots/whitequark/masgn_nested.txt index 3e4602472f..db92f24ab5 100644 --- a/test/prism/snapshots/whitequark/masgn_nested.txt +++ b/test/prism/snapshots/whitequark/masgn_nested.txt @@ -1,17 +1,23 @@ @ ProgramNode (location: (1,0)-(3,15)) +├── flags: ∅ ├── locals: [:b, :a, :c] └── statements: @ StatementsNode (location: (1,0)-(3,15)) + ├── flags: ∅ └── body: (length: 2) ├── @ MultiWriteNode (location: (1,0)-(1,13)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ MultiTargetNode (location: (1,1)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── lefts: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (1,2)-(1,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rest: │ │ │ @ ImplicitRestNode (location: (1,3)-(1,4)) + │ │ │ └── flags: ∅ │ │ ├── rights: (length: 0) │ │ ├── lparen_loc: (1,1)-(1,2) = "(" │ │ └── rparen_loc: (1,5)-(1,6) = ")" @@ -32,16 +38,21 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ MultiWriteNode (location: (3,0)-(3,15)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (3,0)-(3,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ MultiTargetNode (location: (3,3)-(3,9)) + │ ├── flags: ∅ │ ├── lefts: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (3,4)-(3,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (3,7)-(3,8)) + │ │ ├── flags: ∅ │ │ ├── name: :c │ │ └── depth: 0 │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/masgn_splat.txt b/test/prism/snapshots/whitequark/masgn_splat.txt index 0db040a3ab..e50174d9de 100644 --- a/test/prism/snapshots/whitequark/masgn_splat.txt +++ b/test/prism/snapshots/whitequark/masgn_splat.txt @@ -1,12 +1,16 @@ @ ProgramNode (location: (1,0)-(19,16)) +├── flags: ∅ ├── locals: [:c, :d, :b, :a] └── statements: @ StatementsNode (location: (1,0)-(19,16)) + ├── flags: ∅ └── body: (length: 10) ├── @ MultiWriteNode (location: (1,0)-(1,7)) + │ ├── flags: newline │ ├── lefts: (length: 0) │ ├── rest: │ │ @ SplatNode (location: (1,0)-(1,1)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,0)-(1,1) = "*" │ │ └── expression: ∅ │ ├── rights: (length: 0) @@ -25,16 +29,20 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ MultiWriteNode (location: (3,0)-(3,13)) + │ ├── flags: newline │ ├── lefts: (length: 0) │ ├── rest: │ │ @ SplatNode (location: (3,0)-(3,1)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (3,0)-(3,1) = "*" │ │ └── expression: ∅ │ ├── rights: (length: 2) │ │ ├── @ LocalVariableTargetNode (location: (3,3)-(3,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :c │ │ │ └── depth: 0 │ │ └── @ LocalVariableTargetNode (location: (3,6)-(3,7)) + │ │ ├── flags: ∅ │ │ ├── name: :d │ │ └── depth: 0 │ ├── lparen_loc: ∅ @@ -52,12 +60,15 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ MultiWriteNode (location: (5,0)-(5,8)) + │ ├── flags: newline │ ├── lefts: (length: 0) │ ├── rest: │ │ @ SplatNode (location: (5,0)-(5,2)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (5,0)-(5,1) = "*" │ │ └── expression: │ │ @ LocalVariableTargetNode (location: (5,1)-(5,2)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rights: (length: 0) @@ -76,16 +87,20 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ MultiWriteNode (location: (7,0)-(7,11)) + │ ├── flags: newline │ ├── lefts: (length: 0) │ ├── rest: │ │ @ SplatNode (location: (7,0)-(7,2)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (7,0)-(7,1) = "*" │ │ └── expression: │ │ @ LocalVariableTargetNode (location: (7,1)-(7,2)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rights: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (7,4)-(7,5)) + │ │ ├── flags: ∅ │ │ ├── name: :c │ │ └── depth: 0 │ ├── lparen_loc: ∅ @@ -103,10 +118,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ MultiWriteNode (location: (9,0)-(9,18)) + │ ├── flags: newline │ ├── lefts: (length: 2) │ │ ├── @ InstanceVariableTargetNode (location: (9,0)-(9,4)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@foo │ │ └── @ ClassVariableTargetNode (location: (9,6)-(9,11)) + │ │ ├── flags: ∅ │ │ └── name: :@@bar │ ├── rest: ∅ │ ├── rights: (length: 0) @@ -118,6 +136,7 @@ │ ├── flags: contains_splat │ ├── elements: (length: 1) │ │ └── @ SplatNode (location: (9,14)-(9,18)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (9,14)-(9,15) = "*" │ │ └── expression: │ │ @ CallNode (location: (9,15)-(9,18)) @@ -133,12 +152,15 @@ │ ├── opening_loc: ∅ │ └── closing_loc: ∅ ├── @ MultiWriteNode (location: (11,0)-(11,10)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (11,0)-(11,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── rest: │ │ @ SplatNode (location: (11,3)-(11,4)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (11,3)-(11,4) = "*" │ │ └── expression: ∅ │ ├── rights: (length: 0) @@ -157,16 +179,20 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ MultiWriteNode (location: (13,0)-(13,13)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (13,0)-(13,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── rest: │ │ @ SplatNode (location: (13,3)-(13,4)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (13,3)-(13,4) = "*" │ │ └── expression: ∅ │ ├── rights: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (13,6)-(13,7)) + │ │ ├── flags: ∅ │ │ ├── name: :c │ │ └── depth: 0 │ ├── lparen_loc: ∅ @@ -184,15 +210,19 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ MultiWriteNode (location: (15,0)-(15,11)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (15,0)-(15,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── rest: │ │ @ SplatNode (location: (15,3)-(15,5)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (15,3)-(15,4) = "*" │ │ └── expression: │ │ @ LocalVariableTargetNode (location: (15,4)-(15,5)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rights: (length: 0) @@ -211,19 +241,24 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ MultiWriteNode (location: (17,0)-(17,14)) + │ ├── flags: newline │ ├── lefts: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (17,0)-(17,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ ├── rest: │ │ @ SplatNode (location: (17,3)-(17,5)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (17,3)-(17,4) = "*" │ │ └── expression: │ │ @ LocalVariableTargetNode (location: (17,4)-(17,5)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ └── depth: 0 │ ├── rights: (length: 1) │ │ └── @ LocalVariableTargetNode (location: (17,7)-(17,8)) + │ │ ├── flags: ∅ │ │ ├── name: :c │ │ └── depth: 0 │ ├── lparen_loc: ∅ @@ -241,11 +276,14 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ MultiWriteNode (location: (19,0)-(19,16)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (19,0)-(19,1)) + │ │ ├── flags: ∅ │ │ ├── name: :a │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (19,3)-(19,4)) + │ ├── flags: ∅ │ ├── name: :b │ └── depth: 0 ├── rest: ∅ @@ -258,6 +296,7 @@ ├── flags: contains_splat ├── elements: (length: 2) │ ├── @ SplatNode (location: (19,7)-(19,11)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (19,7)-(19,8) = "*" │ │ └── expression: │ │ @ CallNode (location: (19,8)-(19,11)) diff --git a/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt b/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt index 963686b73e..34a55fbe02 100644 --- a/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt +++ b/test/prism/snapshots/whitequark/method_definition_in_while_cond.txt @@ -1,19 +1,23 @@ @ ProgramNode (location: (1,0)-(7,47)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,47)) + ├── flags: ∅ └── body: (length: 4) ├── @ WhileNode (location: (1,0)-(1,45)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,5) = "while" │ ├── closing_loc: (1,42)-(1,45) = "end" │ ├── predicate: │ │ @ DefNode (location: (1,6)-(1,33)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ ├── name_loc: (1,10)-(1,13) = "foo" │ │ ├── receiver: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,14)-(1,28)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 1) │ │ │ │ └── @ OptionalParameterNode (location: (1,14)-(1,28)) @@ -33,6 +37,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (1,22)-(1,28)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: ∅ @@ -53,25 +58,29 @@ │ │ └── end_keyword_loc: (1,30)-(1,33) = "end" │ └── statements: │ @ StatementsNode (location: (1,35)-(1,40)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ BreakNode (location: (1,35)-(1,40)) + │ ├── flags: newline │ ├── arguments: ∅ │ └── keyword_loc: (1,35)-(1,40) = "break" ├── @ WhileNode (location: (3,0)-(3,42)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (3,0)-(3,5) = "while" │ ├── closing_loc: (3,39)-(3,42) = "end" │ ├── predicate: │ │ @ DefNode (location: (3,6)-(3,30)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ ├── name_loc: (3,10)-(3,13) = "foo" │ │ ├── receiver: ∅ │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (3,15)-(3,25)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,15)-(3,25)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :tap @@ -81,6 +90,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (3,19)-(3,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -95,22 +105,27 @@ │ │ └── end_keyword_loc: (3,27)-(3,30) = "end" │ └── statements: │ @ StatementsNode (location: (3,32)-(3,37)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ BreakNode (location: (3,32)-(3,37)) + │ ├── flags: newline │ ├── arguments: ∅ │ └── keyword_loc: (3,32)-(3,37) = "break" ├── @ WhileNode (location: (5,0)-(5,50)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (5,0)-(5,5) = "while" │ ├── closing_loc: (5,47)-(5,50) = "end" │ ├── predicate: │ │ @ DefNode (location: (5,6)-(5,38)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ ├── name_loc: (5,15)-(5,18) = "foo" │ │ ├── receiver: │ │ │ @ SelfNode (location: (5,10)-(5,14)) + │ │ │ └── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (5,19)-(5,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 1) │ │ │ │ └── @ OptionalParameterNode (location: (5,19)-(5,33)) @@ -130,6 +145,7 @@ │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── block: │ │ │ │ @ BlockNode (location: (5,27)-(5,33)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [] │ │ │ │ ├── parameters: ∅ │ │ │ │ ├── body: ∅ @@ -150,26 +166,31 @@ │ │ └── end_keyword_loc: (5,35)-(5,38) = "end" │ └── statements: │ @ StatementsNode (location: (5,40)-(5,45)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ BreakNode (location: (5,40)-(5,45)) + │ ├── flags: newline │ ├── arguments: ∅ │ └── keyword_loc: (5,40)-(5,45) = "break" └── @ WhileNode (location: (7,0)-(7,47)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (7,0)-(7,5) = "while" ├── closing_loc: (7,44)-(7,47) = "end" ├── predicate: │ @ DefNode (location: (7,6)-(7,35)) + │ ├── flags: ∅ │ ├── name: :foo │ ├── name_loc: (7,15)-(7,18) = "foo" │ ├── receiver: │ │ @ SelfNode (location: (7,10)-(7,14)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,20)-(7,30)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,20)-(7,30)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :tap @@ -179,6 +200,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (7,24)-(7,30)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -193,7 +215,9 @@ │ └── end_keyword_loc: (7,32)-(7,35) = "end" └── statements: @ StatementsNode (location: (7,37)-(7,42)) + ├── flags: ∅ └── body: (length: 1) └── @ BreakNode (location: (7,37)-(7,42)) + ├── flags: newline ├── arguments: ∅ └── keyword_loc: (7,37)-(7,42) = "break" diff --git a/test/prism/snapshots/whitequark/module.txt b/test/prism/snapshots/whitequark/module.txt index 87348c4ec9..2989be0109 100644 --- a/test/prism/snapshots/whitequark/module.txt +++ b/test/prism/snapshots/whitequark/module.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ ModuleNode (location: (1,0)-(1,15)) + ├── flags: newline ├── locals: [] ├── module_keyword_loc: (1,0)-(1,6) = "module" ├── constant_path: │ @ ConstantReadNode (location: (1,7)-(1,10)) + │ ├── flags: ∅ │ └── name: :Foo ├── body: ∅ ├── end_keyword_loc: (1,12)-(1,15) = "end" diff --git a/test/prism/snapshots/whitequark/multiple_pattern_matches.txt b/test/prism/snapshots/whitequark/multiple_pattern_matches.txt index afa3517e11..24cf259e08 100644 --- a/test/prism/snapshots/whitequark/multiple_pattern_matches.txt +++ b/test/prism/snapshots/whitequark/multiple_pattern_matches.txt @@ -1,43 +1,52 @@ @ ProgramNode (location: (1,0)-(5,12)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(5,12)) + ├── flags: ∅ └── body: (length: 4) ├── @ MatchRequiredNode (location: (1,0)-(1,12)) + │ ├── flags: newline │ ├── value: │ │ @ HashNode (location: (1,0)-(1,6)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (1,0)-(1,1) = "{" │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (1,1)-(1,5)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (1,1)-(1,3)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (1,1)-(1,2) = "a" │ │ │ │ ├── closing_loc: (1,2)-(1,3) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 0 │ │ │ └── operator_loc: ∅ │ │ └── closing_loc: (1,5)-(1,6) = "}" │ ├── pattern: │ │ @ HashPatternNode (location: (1,10)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (1,10)-(1,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (1,10)-(1,12)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (1,10)-(1,11) = "a" │ │ │ │ ├── closing_loc: (1,11)-(1,12) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (1,10)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ LocalVariableTargetNode (location: (1,10)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ @@ -46,40 +55,47 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (1,7)-(1,9) = "=>" ├── @ MatchRequiredNode (location: (2,0)-(2,12)) + │ ├── flags: newline │ ├── value: │ │ @ HashNode (location: (2,0)-(2,6)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (2,0)-(2,1) = "{" │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,1)-(2,5)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,1)-(2,3)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,1)-(2,2) = "a" │ │ │ │ ├── closing_loc: (2,2)-(2,3) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (2,4)-(2,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 0 │ │ │ └── operator_loc: ∅ │ │ └── closing_loc: (2,5)-(2,6) = "}" │ ├── pattern: │ │ @ HashPatternNode (location: (2,10)-(2,12)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (2,10)-(2,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (2,10)-(2,12)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (2,10)-(2,11) = "a" │ │ │ │ ├── closing_loc: (2,11)-(2,12) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (2,10)-(2,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ LocalVariableTargetNode (location: (2,10)-(2,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ @@ -88,40 +104,47 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (2,7)-(2,9) = "=>" ├── @ MatchPredicateNode (location: (4,0)-(4,12)) + │ ├── flags: newline │ ├── value: │ │ @ HashNode (location: (4,0)-(4,6)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (4,0)-(4,1) = "{" │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (4,1)-(4,5)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (4,1)-(4,3)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (4,1)-(4,2) = "a" │ │ │ │ ├── closing_loc: (4,2)-(4,3) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (4,4)-(4,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 0 │ │ │ └── operator_loc: ∅ │ │ └── closing_loc: (4,5)-(4,6) = "}" │ ├── pattern: │ │ @ HashPatternNode (location: (4,10)-(4,12)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (4,10)-(4,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (4,10)-(4,12)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (4,10)-(4,11) = "a" │ │ │ │ ├── closing_loc: (4,11)-(4,12) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (4,10)-(4,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ LocalVariableTargetNode (location: (4,10)-(4,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ @@ -130,40 +153,47 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (4,7)-(4,9) = "in" └── @ MatchPredicateNode (location: (5,0)-(5,12)) + ├── flags: newline ├── value: │ @ HashNode (location: (5,0)-(5,6)) + │ ├── flags: static_literal │ ├── opening_loc: (5,0)-(5,1) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (5,1)-(5,5)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (5,1)-(5,3)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (5,1)-(5,2) = "a" │ │ │ ├── closing_loc: (5,2)-(5,3) = ":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ IntegerNode (location: (5,4)-(5,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 0 │ │ └── operator_loc: ∅ │ └── closing_loc: (5,5)-(5,6) = "}" ├── pattern: │ @ HashPatternNode (location: (5,10)-(5,12)) + │ ├── flags: ∅ │ ├── constant: ∅ │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (5,10)-(5,12)) + │ │ ├── flags: ∅ │ │ ├── key: │ │ │ @ SymbolNode (location: (5,10)-(5,12)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (5,10)-(5,11) = "a" │ │ │ ├── closing_loc: (5,11)-(5,12) = ":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ ImplicitNode (location: (5,10)-(5,11)) + │ │ │ ├── flags: ∅ │ │ │ └── value: │ │ │ @ LocalVariableTargetNode (location: (5,10)-(5,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ └── operator_loc: ∅ diff --git a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt index 7ef006645b..f43739ba12 100644 --- a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt +++ b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(14,1)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(14,1)) + ├── flags: ∅ └── body: (length: 3) ├── @ CaseMatchNode (location: (1,0)-(8,3)) + │ ├── flags: newline │ ├── predicate: │ │ @ CallNode (location: (1,5)-(1,8)) │ │ ├── flags: variable_call, ignore_visibility @@ -17,22 +20,27 @@ │ │ └── block: ∅ │ ├── conditions: (length: 2) │ │ ├── @ InNode (location: (2,0)-(4,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── pattern: │ │ │ │ @ HashPatternNode (location: (2,3)-(2,5)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── constant: ∅ │ │ │ │ ├── elements: (length: 1) │ │ │ │ │ └── @ AssocNode (location: (2,3)-(2,5)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── key: │ │ │ │ │ │ @ SymbolNode (location: (2,3)-(2,5)) - │ │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ │ ├── opening_loc: ∅ │ │ │ │ │ │ ├── value_loc: (2,3)-(2,4) = "a" │ │ │ │ │ │ ├── closing_loc: (2,4)-(2,5) = ":" │ │ │ │ │ │ └── unescaped: "a" │ │ │ │ │ ├── value: │ │ │ │ │ │ @ ImplicitNode (location: (2,3)-(2,4)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── value: │ │ │ │ │ │ @ LocalVariableTargetNode (location: (2,3)-(2,4)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ ├── name: :a │ │ │ │ │ │ └── depth: 0 │ │ │ │ │ └── operator_loc: ∅ @@ -41,30 +49,37 @@ │ │ │ │ └── closing_loc: ∅ │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (3,0)-(4,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 2) │ │ │ │ ├── @ IntegerNode (location: (3,0)-(3,1)) - │ │ │ │ │ ├── flags: decimal + │ │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ │ └── value: 0 │ │ │ │ └── @ TrueNode (location: (4,0)-(4,4)) + │ │ │ │ └── flags: newline, static_literal │ │ │ ├── in_loc: (2,0)-(2,2) = "in" │ │ │ └── then_loc: ∅ │ │ └── @ InNode (location: (5,0)-(7,4)) + │ │ ├── flags: ∅ │ │ ├── pattern: │ │ │ @ HashPatternNode (location: (5,3)-(5,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── constant: ∅ │ │ │ ├── elements: (length: 1) │ │ │ │ └── @ AssocNode (location: (5,3)-(5,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── key: │ │ │ │ │ @ SymbolNode (location: (5,3)-(5,7)) - │ │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ │ ├── opening_loc: (5,3)-(5,4) = "\"" │ │ │ │ │ ├── value_loc: (5,4)-(5,5) = "b" │ │ │ │ │ ├── closing_loc: (5,5)-(5,7) = "\":" │ │ │ │ │ └── unescaped: "b" │ │ │ │ ├── value: │ │ │ │ │ @ ImplicitNode (location: (5,4)-(5,5)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── value: │ │ │ │ │ @ LocalVariableTargetNode (location: (5,4)-(5,5)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── name: :b │ │ │ │ │ └── depth: 0 │ │ │ │ └── operator_loc: ∅ @@ -73,18 +88,20 @@ │ │ │ └── closing_loc: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (6,0)-(7,4)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 2) │ │ │ ├── @ IntegerNode (location: (6,0)-(6,1)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: newline, static_literal, decimal │ │ │ │ └── value: 0 │ │ │ └── @ TrueNode (location: (7,0)-(7,4)) + │ │ │ └── flags: newline, static_literal │ │ ├── in_loc: (5,0)-(5,2) = "in" │ │ └── then_loc: ∅ │ ├── consequent: ∅ │ ├── case_keyword_loc: (1,0)-(1,4) = "case" │ └── end_keyword_loc: (8,0)-(8,3) = "end" ├── @ CallNode (location: (10,0)-(11,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (10,0)-(10,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -108,22 +125,23 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (10,8)-(11,1)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (10,8)-(10,14)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (10,8)-(10,9) = "\"" │ │ │ ├── value_loc: (10,9)-(10,12) = "foo" │ │ │ ├── closing_loc: (10,12)-(10,14) = "\":" │ │ │ └── unescaped: "foo" │ │ ├── value: │ │ │ @ IntegerNode (location: (11,0)-(11,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (13,0)-(14,1)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (13,0)-(13,3)) │ ├── flags: variable_call, ignore_visibility @@ -147,16 +165,17 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (13,8)-(14,1)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (13,8)-(13,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (13,8)-(13,11) = "foo" │ │ ├── closing_loc: (13,11)-(13,12) = ":" │ │ └── unescaped: "foo" │ ├── value: │ │ @ IntegerNode (location: (14,0)-(14,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: ∅ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/nil.txt b/test/prism/snapshots/whitequark/nil.txt index 15774c02fd..39b9c2e821 100644 --- a/test/prism/snapshots/whitequark/nil.txt +++ b/test/prism/snapshots/whitequark/nil.txt @@ -1,6 +1,9 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ NilNode (location: (1,0)-(1,3)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/whitequark/nil_expression.txt b/test/prism/snapshots/whitequark/nil_expression.txt index 7421115611..00e579864c 100644 --- a/test/prism/snapshots/whitequark/nil_expression.txt +++ b/test/prism/snapshots/whitequark/nil_expression.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(3,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,9)) + ├── flags: ∅ └── body: (length: 2) ├── @ ParenthesesNode (location: (1,0)-(1,2)) + │ ├── flags: newline │ ├── body: ∅ │ ├── opening_loc: (1,0)-(1,1) = "(" │ └── closing_loc: (1,1)-(1,2) = ")" └── @ BeginNode (location: (3,0)-(3,9)) + ├── flags: newline ├── begin_keyword_loc: (3,0)-(3,5) = "begin" ├── statements: ∅ ├── rescue_clause: ∅ diff --git a/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt b/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt index 584e997df2..0322423e63 100644 --- a/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt +++ b/test/prism/snapshots/whitequark/non_lvar_injecting_match.txt @@ -1,26 +1,30 @@ @ ProgramNode (location: (1,0)-(1,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,28)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,28)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ InterpolatedRegularExpressionNode (location: (1,0)-(1,19)) │ ├── flags: ∅ │ ├── opening_loc: (1,0)-(1,1) = "/" │ ├── parts: (length: 2) │ │ ├── @ EmbeddedStatementsNode (location: (1,1)-(1,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (1,1)-(1,3) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (1,3)-(1,4)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ IntegerNode (location: (1,3)-(1,4)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── closing_loc: (1,4)-(1,5) = "}" │ │ └── @ StringNode (location: (1,5)-(1,18)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,5)-(1,18) = "(?<match>bar)" │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/not.txt b/test/prism/snapshots/whitequark/not.txt index 0a6d60e502..b70792f154 100644 --- a/test/prism/snapshots/whitequark/not.txt +++ b/test/prism/snapshots/whitequark/not.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,8)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,4)-(1,7)) │ │ ├── flags: variable_call, ignore_visibility @@ -24,7 +26,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :! @@ -34,7 +36,7 @@ │ ├── closing_loc: (3,4)-(3,5) = ")" │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,8)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (5,4)-(5,7)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/not_cmd.txt b/test/prism/snapshots/whitequark/not_cmd.txt index 3b111272c6..0ecd1cc67e 100644 --- a/test/prism/snapshots/whitequark/not_cmd.txt +++ b/test/prism/snapshots/whitequark/not_cmd.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,4)-(1,9)) │ ├── flags: ignore_visibility diff --git a/test/prism/snapshots/whitequark/not_masgn__24.txt b/test/prism/snapshots/whitequark/not_masgn__24.txt index 90124c3866..d84faadc50 100644 --- a/test/prism/snapshots/whitequark/not_masgn__24.txt +++ b/test/prism/snapshots/whitequark/not_masgn__24.txt @@ -1,21 +1,28 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ ParenthesesNode (location: (1,1)-(1,13)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,2)-(1,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ MultiWriteNode (location: (1,2)-(1,12)) + │ │ ├── flags: newline │ │ ├── lefts: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (1,2)-(1,3)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (1,5)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/nth_ref.txt b/test/prism/snapshots/whitequark/nth_ref.txt index 1d386d518b..cca1574548 100644 --- a/test/prism/snapshots/whitequark/nth_ref.txt +++ b/test/prism/snapshots/whitequark/nth_ref.txt @@ -1,7 +1,10 @@ @ ProgramNode (location: (1,0)-(1,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,3)) + ├── flags: ∅ └── body: (length: 1) └── @ NumberedReferenceReadNode (location: (1,0)-(1,3)) + ├── flags: newline └── number: 10 diff --git a/test/prism/snapshots/whitequark/numbered_args_after_27.txt b/test/prism/snapshots/whitequark/numbered_args_after_27.txt index 56419adccd..7bf09f7904 100644 --- a/test/prism/snapshots/whitequark/numbered_args_after_27.txt +++ b/test/prism/snapshots/whitequark/numbered_args_after_27.txt @@ -1,23 +1,29 @@ @ ProgramNode (location: (1,0)-(7,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,13)) + ├── flags: ∅ └── body: (length: 4) ├── @ LambdaNode (location: (1,0)-(1,17)) + │ ├── flags: newline │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] │ ├── operator_loc: (1,0)-(1,2) = "->" │ ├── opening_loc: (1,3)-(1,5) = "do" │ ├── closing_loc: (1,14)-(1,17) = "end" │ ├── parameters: │ │ @ NumberedParametersNode (location: (1,0)-(1,17)) + │ │ ├── flags: ∅ │ │ └── maximum: 9 │ └── body: │ @ StatementsNode (location: (1,6)-(1,13)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,6)-(1,13)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (1,6)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── name: :_1 │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -29,25 +35,30 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (1,11)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── name: :_9 │ │ └── depth: 0 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ LambdaNode (location: (3,0)-(3,13)) + │ ├── flags: newline │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] │ ├── operator_loc: (3,0)-(3,2) = "->" │ ├── opening_loc: (3,3)-(3,4) = "{" │ ├── closing_loc: (3,12)-(3,13) = "}" │ ├── parameters: │ │ @ NumberedParametersNode (location: (3,0)-(3,13)) + │ │ ├── flags: ∅ │ │ └── maximum: 9 │ └── body: │ @ StatementsNode (location: (3,5)-(3,12)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (3,5)-(3,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (3,5)-(3,7)) + │ │ ├── flags: ∅ │ │ ├── name: :_1 │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -59,12 +70,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (3,10)-(3,12)) + │ │ ├── flags: ∅ │ │ ├── name: :_9 │ │ └── depth: 0 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,16)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -74,17 +86,21 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,2)-(5,16)) + │ ├── flags: ∅ │ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] │ ├── parameters: │ │ @ NumberedParametersNode (location: (5,2)-(5,16)) + │ │ ├── flags: ∅ │ │ └── maximum: 9 │ ├── body: │ │ @ StatementsNode (location: (5,5)-(5,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,5)-(5,12)) - │ │ ├── flags: ∅ + │ │ ├── flags: newline │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (5,5)-(5,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :_1 │ │ │ └── depth: 0 │ │ ├── call_operator_loc: ∅ @@ -96,6 +112,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (5,10)-(5,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :_9 │ │ │ └── depth: 0 │ │ ├── closing_loc: ∅ @@ -103,7 +120,7 @@ │ ├── opening_loc: (5,2)-(5,4) = "do" │ └── closing_loc: (5,13)-(5,16) = "end" └── @ CallNode (location: (7,0)-(7,13)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -113,17 +130,21 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (7,2)-(7,13)) + ├── flags: ∅ ├── locals: [:_1, :_2, :_3, :_4, :_5, :_6, :_7, :_8, :_9] ├── parameters: │ @ NumberedParametersNode (location: (7,2)-(7,13)) + │ ├── flags: ∅ │ └── maximum: 9 ├── body: │ @ StatementsNode (location: (7,4)-(7,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (7,4)-(7,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (7,4)-(7,6)) + │ │ ├── flags: ∅ │ │ ├── name: :_1 │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -135,6 +156,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (7,9)-(7,11)) + │ │ ├── flags: ∅ │ │ ├── name: :_9 │ │ └── depth: 0 │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/numparam_outside_block.txt b/test/prism/snapshots/whitequark/numparam_outside_block.txt index d79aedf7f9..beef05a392 100644 --- a/test/prism/snapshots/whitequark/numparam_outside_block.txt +++ b/test/prism/snapshots/whitequark/numparam_outside_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(9,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(9,17)) + ├── flags: ∅ └── body: (length: 5) ├── @ CallNode (location: (1,0)-(1,2)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :_1 @@ -14,6 +16,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ SingletonClassNode (location: (3,0)-(3,21)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (3,0)-(3,5) = "class" │ ├── operator_loc: (3,6)-(3,8) = "<<" @@ -30,9 +33,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,14)-(3,16)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,14)-(3,16)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :_1 @@ -43,18 +47,21 @@ │ │ └── block: ∅ │ └── end_keyword_loc: (3,18)-(3,21) = "end" ├── @ ClassNode (location: (5,0)-(5,16)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (5,0)-(5,5) = "class" │ ├── constant_path: │ │ @ ConstantReadNode (location: (5,6)-(5,7)) + │ │ ├── flags: ∅ │ │ └── name: :A │ ├── inheritance_operator_loc: ∅ │ ├── superclass: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,9)-(5,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,9)-(5,11)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :_1 @@ -66,16 +73,19 @@ │ ├── end_keyword_loc: (5,13)-(5,16) = "end" │ └── name: :A ├── @ DefNode (location: (7,0)-(7,19)) + │ ├── flags: newline │ ├── name: :m │ ├── name_loc: (7,9)-(7,10) = "m" │ ├── receiver: │ │ @ SelfNode (location: (7,4)-(7,8)) + │ │ └── flags: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (7,12)-(7,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (7,12)-(7,14)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :_1 @@ -92,16 +102,19 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (7,16)-(7,19) = "end" └── @ ModuleNode (location: (9,0)-(9,17)) + ├── flags: newline ├── locals: [] ├── module_keyword_loc: (9,0)-(9,6) = "module" ├── constant_path: │ @ ConstantReadNode (location: (9,7)-(9,8)) + │ ├── flags: ∅ │ └── name: :A ├── body: │ @ StatementsNode (location: (9,10)-(9,12)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (9,10)-(9,12)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :_1 diff --git a/test/prism/snapshots/whitequark/numparam_ruby_bug_19025.txt b/test/prism/snapshots/whitequark/numparam_ruby_bug_19025.txt index 396238cbbf..5043c9be48 100644 --- a/test/prism/snapshots/whitequark/numparam_ruby_bug_19025.txt +++ b/test/prism/snapshots/whitequark/numparam_ruby_bug_19025.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -14,20 +16,24 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,2)-(1,14)) + ├── flags: ∅ ├── locals: [:_1] ├── parameters: │ @ NumberedParametersNode (location: (1,2)-(1,14)) + │ ├── flags: ∅ │ └── maximum: 1 ├── body: │ @ StatementsNode (location: (1,4)-(1,12)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ ArrayNode (location: (1,4)-(1,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ CallNode (location: (1,5)-(1,11)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ LocalVariableReadNode (location: (1,5)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :_1 │ │ │ └── depth: 0 │ │ ├── call_operator_loc: ∅ @@ -39,7 +45,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ diff --git a/test/prism/snapshots/whitequark/op_asgn.txt b/test/prism/snapshots/whitequark/op_asgn.txt index f726617904..cac3e0e7b1 100644 --- a/test/prism/snapshots/whitequark/op_asgn.txt +++ b/test/prism/snapshots/whitequark/op_asgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,11)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallOperatorWriteNode (location: (1,0)-(1,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -24,10 +26,10 @@ │ ├── binary_operator_loc: (1,6)-(1,8) = "+=" │ └── value: │ @ IntegerNode (location: (1,9)-(1,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── @ CallOperatorWriteNode (location: (3,0)-(3,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -47,10 +49,10 @@ │ ├── binary_operator_loc: (3,6)-(3,8) = "+=" │ └── value: │ @ IntegerNode (location: (3,9)-(3,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 └── @ CallOperatorWriteNode (location: (5,0)-(5,11)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (5,0)-(5,3)) │ ├── flags: variable_call, ignore_visibility @@ -70,5 +72,5 @@ ├── binary_operator_loc: (5,7)-(5,9) = "+=" └── value: @ IntegerNode (location: (5,10)-(5,11)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/whitequark/op_asgn_cmd.txt b/test/prism/snapshots/whitequark/op_asgn_cmd.txt index d2d86b1bf9..6ee1650274 100644 --- a/test/prism/snapshots/whitequark/op_asgn_cmd.txt +++ b/test/prism/snapshots/whitequark/op_asgn_cmd.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(7,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,15)) + ├── flags: ∅ └── body: (length: 4) ├── @ CallOperatorWriteNode (location: (1,0)-(1,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -47,7 +49,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallOperatorWriteNode (location: (3,0)-(3,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -90,8 +92,10 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ConstantPathOperatorWriteNode (location: (5,0)-(5,15)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (5,0)-(5,6)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ CallNode (location: (5,0)-(5,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -133,7 +137,7 @@ │ │ └── block: ∅ │ └── binary_operator: :+ └── @ CallOperatorWriteNode (location: (7,0)-(7,15)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (7,0)-(7,3)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/op_asgn_index.txt b/test/prism/snapshots/whitequark/op_asgn_index.txt index b302abdafe..0e2927f0fb 100644 --- a/test/prism/snapshots/whitequark/op_asgn_index.txt +++ b/test/prism/snapshots/whitequark/op_asgn_index.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ IndexOperatorWriteNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -23,10 +25,10 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (1,8)-(1,9) = "]" ├── block: ∅ @@ -34,5 +36,5 @@ ├── binary_operator_loc: (1,10)-(1,12) = "+=" └── value: @ IntegerNode (location: (1,13)-(1,14)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 2 diff --git a/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt b/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt index 319ed1a51a..84cef7867d 100644 --- a/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt +++ b/test/prism/snapshots/whitequark/op_asgn_index_cmd.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,18)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,18)) + ├── flags: ∅ └── body: (length: 1) └── @ IndexOperatorWriteNode (location: (1,0)-(1,18)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -23,10 +25,10 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (1,8)-(1,9) = "]" ├── block: ∅ diff --git a/test/prism/snapshots/whitequark/optarg.txt b/test/prism/snapshots/whitequark/optarg.txt index 695ed827ad..f25b004a00 100644 --- a/test/prism/snapshots/whitequark/optarg.txt +++ b/test/prism/snapshots/whitequark/optarg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(3,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,24)) + ├── flags: ∅ └── body: (length: 2) ├── @ DefNode (location: (1,0)-(1,18)) + │ ├── flags: newline │ ├── name: :f │ ├── name_loc: (1,4)-(1,5) = "f" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,6)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,6)-(1,13)) @@ -18,7 +22,7 @@ │ │ │ ├── operator_loc: (1,10)-(1,11) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) @@ -34,11 +38,13 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (1,15)-(1,18) = "end" └── @ DefNode (location: (3,0)-(3,24)) + ├── flags: newline ├── name: :f ├── name_loc: (3,4)-(3,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (3,6)-(3,18)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 2) │ │ ├── @ OptionalParameterNode (location: (3,6)-(3,11)) @@ -48,7 +54,7 @@ │ │ │ ├── operator_loc: (3,9)-(3,10) = "=" │ │ │ └── value: │ │ │ @ IntegerNode (location: (3,10)-(3,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── @ OptionalParameterNode (location: (3,13)-(3,18)) │ │ ├── flags: ∅ @@ -57,7 +63,7 @@ │ │ ├── operator_loc: (3,16)-(3,17) = "=" │ │ └── value: │ │ @ IntegerNode (location: (3,17)-(3,18)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── rest: ∅ │ ├── posts: (length: 0) diff --git a/test/prism/snapshots/whitequark/or.txt b/test/prism/snapshots/whitequark/or.txt index 439146b8db..7a23781399 100644 --- a/test/prism/snapshots/whitequark/or.txt +++ b/test/prism/snapshots/whitequark/or.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,10)) + ├── flags: ∅ └── body: (length: 2) ├── @ OrNode (location: (1,0)-(1,10)) + │ ├── flags: newline │ ├── left: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -28,6 +31,7 @@ │ │ └── block: ∅ │ └── operator_loc: (1,4)-(1,6) = "or" └── @ OrNode (location: (3,0)-(3,10)) + ├── flags: newline ├── left: │ @ CallNode (location: (3,0)-(3,3)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/or_asgn.txt b/test/prism/snapshots/whitequark/or_asgn.txt index c0ded24b93..7234587b45 100644 --- a/test/prism/snapshots/whitequark/or_asgn.txt +++ b/test/prism/snapshots/whitequark/or_asgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,15)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallOrWriteNode (location: (1,0)-(1,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -23,10 +25,10 @@ │ ├── operator_loc: (1,6)-(1,9) = "||=" │ └── value: │ @ IntegerNode (location: (1,10)-(1,11)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 └── @ IndexOrWriteNode (location: (3,0)-(3,15)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (3,0)-(3,3)) │ ├── flags: variable_call, ignore_visibility @@ -45,15 +47,15 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (3,4)-(3,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ └── @ IntegerNode (location: (3,7)-(3,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (3,8)-(3,9) = "]" ├── block: ∅ ├── operator_loc: (3,10)-(3,13) = "||=" └── value: @ IntegerNode (location: (3,14)-(3,15)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 2 diff --git a/test/prism/snapshots/whitequark/parser_bug_272.txt b/test/prism/snapshots/whitequark/parser_bug_272.txt index f158f255b9..64df1cf46d 100644 --- a/test/prism/snapshots/whitequark/parser_bug_272.txt +++ b/test/prism/snapshots/whitequark/parser_bug_272.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,15)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -15,15 +17,19 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ InstanceVariableReadNode (location: (1,2)-(1,4)) + │ ├── flags: ∅ │ └── name: :@b ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,5)-(1,15)) + ├── flags: ∅ ├── locals: [:c] ├── parameters: │ @ BlockParametersNode (location: (1,8)-(1,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,9)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,9)-(1,10)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/parser_bug_490.txt b/test/prism/snapshots/whitequark/parser_bug_490.txt index 9e4cd2bd15..89a29c11f5 100644 --- a/test/prism/snapshots/whitequark/parser_bug_490.txt +++ b/test/prism/snapshots/whitequark/parser_bug_490.txt @@ -1,30 +1,39 @@ @ ProgramNode (location: (1,0)-(5,45)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,45)) + ├── flags: ∅ └── body: (length: 3) ├── @ DefNode (location: (1,0)-(1,39)) + │ ├── flags: newline │ ├── name: :m │ ├── name_loc: (1,4)-(1,5) = "m" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,7)-(1,34)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SingletonClassNode (location: (1,7)-(1,34)) + │ │ ├── flags: newline │ │ ├── locals: [] │ │ ├── class_keyword_loc: (1,7)-(1,12) = "class" │ │ ├── operator_loc: (1,13)-(1,15) = "<<" │ │ ├── expression: │ │ │ @ SelfNode (location: (1,16)-(1,20)) + │ │ │ └── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,22)-(1,29)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ ConstantWriteNode (location: (1,22)-(1,29)) + │ │ │ ├── flags: newline │ │ │ ├── name: :A │ │ │ ├── name_loc: (1,22)-(1,23) = "A" │ │ │ ├── value: │ │ │ │ @ NilNode (location: (1,26)-(1,29)) + │ │ │ │ └── flags: static_literal │ │ │ └── operator_loc: (1,24)-(1,25) = "=" │ │ └── end_keyword_loc: (1,31)-(1,34) = "end" │ ├── locals: [] @@ -35,27 +44,34 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (1,36)-(1,39) = "end" ├── @ DefNode (location: (3,0)-(3,44)) + │ ├── flags: newline │ ├── name: :m │ ├── name_loc: (3,4)-(3,5) = "m" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,7)-(3,39)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SingletonClassNode (location: (3,7)-(3,39)) + │ │ ├── flags: newline │ │ ├── locals: [] │ │ ├── class_keyword_loc: (3,7)-(3,12) = "class" │ │ ├── operator_loc: (3,13)-(3,15) = "<<" │ │ ├── expression: │ │ │ @ SelfNode (location: (3,16)-(3,20)) + │ │ │ └── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (3,22)-(3,34)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ ClassNode (location: (3,22)-(3,34)) + │ │ │ ├── flags: newline │ │ │ ├── locals: [] │ │ │ ├── class_keyword_loc: (3,22)-(3,27) = "class" │ │ │ ├── constant_path: │ │ │ │ @ ConstantReadNode (location: (3,28)-(3,29)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :C │ │ │ ├── inheritance_operator_loc: ∅ │ │ │ ├── superclass: ∅ @@ -71,27 +87,34 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,41)-(3,44) = "end" └── @ DefNode (location: (5,0)-(5,45)) + ├── flags: newline ├── name: :m ├── name_loc: (5,4)-(5,5) = "m" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (5,7)-(5,40)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ SingletonClassNode (location: (5,7)-(5,40)) + │ ├── flags: newline │ ├── locals: [] │ ├── class_keyword_loc: (5,7)-(5,12) = "class" │ ├── operator_loc: (5,13)-(5,15) = "<<" │ ├── expression: │ │ @ SelfNode (location: (5,16)-(5,20)) + │ │ └── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,22)-(5,35)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ModuleNode (location: (5,22)-(5,35)) + │ │ ├── flags: newline │ │ ├── locals: [] │ │ ├── module_keyword_loc: (5,22)-(5,28) = "module" │ │ ├── constant_path: │ │ │ @ ConstantReadNode (location: (5,29)-(5,30)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :M │ │ ├── body: ∅ │ │ ├── end_keyword_loc: (5,32)-(5,35) = "end" diff --git a/test/prism/snapshots/whitequark/parser_bug_507.txt b/test/prism/snapshots/whitequark/parser_bug_507.txt index 7e5fc9ee35..63a9169d01 100644 --- a/test/prism/snapshots/whitequark/parser_bug_507.txt +++ b/test/prism/snapshots/whitequark/parser_bug_507.txt @@ -1,22 +1,28 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [:m] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,19)) + ├── flags: newline ├── name: :m ├── depth: 0 ├── name_loc: (1,0)-(1,1) = "m" ├── value: │ @ LambdaNode (location: (1,4)-(1,19)) + │ ├── flags: ∅ │ ├── locals: [:args] │ ├── operator_loc: (1,4)-(1,6) = "->" │ ├── opening_loc: (1,13)-(1,15) = "do" │ ├── closing_loc: (1,16)-(1,19) = "end" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,7)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,7)-(1,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: diff --git a/test/prism/snapshots/whitequark/parser_bug_518.txt b/test/prism/snapshots/whitequark/parser_bug_518.txt index b63fbb8284..3341167b64 100644 --- a/test/prism/snapshots/whitequark/parser_bug_518.txt +++ b/test/prism/snapshots/whitequark/parser_bug_518.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(2,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,3)) + ├── flags: ∅ └── body: (length: 1) └── @ ClassNode (location: (1,0)-(2,3)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (1,0)-(1,5) = "class" ├── constant_path: │ @ ConstantReadNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ └── name: :A ├── inheritance_operator_loc: (1,8)-(1,9) = "<" ├── superclass: │ @ ConstantReadNode (location: (1,10)-(1,11)) + │ ├── flags: ∅ │ └── name: :B ├── body: ∅ ├── end_keyword_loc: (2,0)-(2,3) = "end" diff --git a/test/prism/snapshots/whitequark/parser_bug_525.txt b/test/prism/snapshots/whitequark/parser_bug_525.txt index 3a31a97cdc..46dca6f97d 100644 --- a/test/prism/snapshots/whitequark/parser_bug_525.txt +++ b/test/prism/snapshots/whitequark/parser_bug_525.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,32)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,32)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,32)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m1 @@ -18,9 +20,10 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,3)-(1,11)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (1,3)-(1,5)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,3)-(1,4) = ":" │ │ ├── value_loc: (1,4)-(1,5) = "k" │ │ ├── closing_loc: ∅ @@ -40,13 +43,15 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,12)-(1,32)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,16)-(1,27)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,16)-(1,27)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m3 @@ -56,6 +61,7 @@ │ ├── closing_loc: (1,19)-(1,20) = ")" │ └── block: │ @ BlockNode (location: (1,21)-(1,27)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/parser_bug_604.txt b/test/prism/snapshots/whitequark/parser_bug_604.txt index 2577e3bc55..aa58b2304f 100644 --- a/test/prism/snapshots/whitequark/parser_bug_604.txt +++ b/test/prism/snapshots/whitequark/parser_bug_604.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,14)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -50,6 +52,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,8)-(1,14)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/parser_bug_640.txt b/test/prism/snapshots/whitequark/parser_bug_640.txt index 157576838b..1e535e769b 100644 --- a/test/prism/snapshots/whitequark/parser_bug_640.txt +++ b/test/prism/snapshots/whitequark/parser_bug_640.txt @@ -1,20 +1,22 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── opening_loc: (1,0)-(1,6) = "<<~FOO" ├── parts: (length: 2) │ ├── @ StringNode (location: (2,0)-(3,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (2,0)-(3,0) = " baz\\\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "baz" │ └── @ StringNode (location: (3,0)-(4,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (3,0)-(4,0) = " qux\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/parser_bug_645.txt b/test/prism/snapshots/whitequark/parser_bug_645.txt index 5700f3c3db..0aa65ebe03 100644 --- a/test/prism/snapshots/whitequark/parser_bug_645.txt +++ b/test/prism/snapshots/whitequark/parser_bug_645.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,14)) + ├── flags: newline ├── locals: [:arg] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,12)-(1,13) = "{" ├── closing_loc: (1,13)-(1,14) = "}" ├── parameters: │ @ BlockParametersNode (location: (1,3)-(1,11)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,4)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 1) │ │ │ └── @ OptionalParameterNode (location: (1,4)-(1,10)) @@ -21,6 +26,7 @@ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ └── value: │ │ │ @ HashNode (location: (1,8)-(1,10)) + │ │ │ ├── flags: static_literal │ │ │ ├── opening_loc: (1,8)-(1,9) = "{" │ │ │ ├── elements: (length: 0) │ │ │ └── closing_loc: (1,9)-(1,10) = "}" diff --git a/test/prism/snapshots/whitequark/parser_bug_830.txt b/test/prism/snapshots/whitequark/parser_bug_830.txt index e52b291d6a..4adbe6256a 100644 --- a/test/prism/snapshots/whitequark/parser_bug_830.txt +++ b/test/prism/snapshots/whitequark/parser_bug_830.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,4)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,3) = "\\(" ├── closing_loc: (1,3)-(1,4) = "/" diff --git a/test/prism/snapshots/whitequark/parser_bug_989.txt b/test/prism/snapshots/whitequark/parser_bug_989.txt index c241d6127f..d0aec1ff5e 100644 --- a/test/prism/snapshots/whitequark/parser_bug_989.txt +++ b/test/prism/snapshots/whitequark/parser_bug_989.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,1)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,1)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ StringNode (location: (1,1)-(1,8)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,1)-(1,8) = "<<-HERE" ├── content_loc: (2,0)-(3,0) = "\t\tcontent\n" ├── closing_loc: (3,0)-(4,0) = "\tHERE\n" diff --git a/test/prism/snapshots/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt b/test/prism/snapshots/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt index 018d7916a6..3b0f46674b 100644 --- a/test/prism/snapshots/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt +++ b/test/prism/snapshots/whitequark/parser_drops_truncated_parts_of_squiggly_heredoc.txt @@ -1,18 +1,21 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,7)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,7) = "<<~HERE" ├── parts: (length: 2) │ ├── @ EmbeddedStatementsNode (location: (2,2)-(2,5)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (2,2)-(2,4) = "\#{" │ │ ├── statements: ∅ │ │ └── closing_loc: (2,4)-(2,5) = "}" │ └── @ StringNode (location: (2,5)-(3,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (2,5)-(3,0) = "\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt b/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt index 080d4d0e7d..ddd38a5ab7 100644 --- a/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt +++ b/test/prism/snapshots/whitequark/parser_slash_slash_n_escaping_in_literals.txt @@ -1,19 +1,21 @@ @ ProgramNode (location: (1,0)-(62,2)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(62,2)) + ├── flags: ∅ └── body: (length: 19) ├── @ StringNode (location: (1,0)-(2,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,1) = "\"" │ ├── content_loc: (1,1)-(2,1) = "a\\\nb" │ ├── closing_loc: (2,1)-(2,2) = "\"" │ └── unescaped: "ab" ├── @ ArrayNode (location: (4,0)-(5,2)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (4,3)-(5,1)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (4,3)-(5,1) = "a\\\nb" │ │ ├── closing_loc: ∅ @@ -21,13 +23,13 @@ │ ├── opening_loc: (4,0)-(4,3) = "%I{" │ └── closing_loc: (5,1)-(5,2) = "}" ├── @ StringNode (location: (7,0)-(8,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (7,0)-(7,3) = "%Q{" │ ├── content_loc: (7,3)-(8,1) = "a\\\nb" │ ├── closing_loc: (8,1)-(8,2) = "}" │ └── unescaped: "ab" ├── @ ArrayNode (location: (10,0)-(11,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (10,3)-(11,1)) │ │ ├── flags: ∅ @@ -38,10 +40,10 @@ │ ├── opening_loc: (10,0)-(10,3) = "%W{" │ └── closing_loc: (11,1)-(11,2) = "}" ├── @ ArrayNode (location: (13,0)-(14,2)) - │ ├── flags: ∅ + │ ├── flags: newline, static_literal │ ├── elements: (length: 1) │ │ └── @ SymbolNode (location: (13,3)-(14,1)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (13,3)-(14,1) = "a\\\nb" │ │ ├── closing_loc: ∅ @@ -49,25 +51,25 @@ │ ├── opening_loc: (13,0)-(13,3) = "%i{" │ └── closing_loc: (14,1)-(14,2) = "}" ├── @ StringNode (location: (16,0)-(17,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (16,0)-(16,3) = "%q{" │ ├── content_loc: (16,3)-(17,1) = "a\\\nb" │ ├── closing_loc: (17,1)-(17,2) = "}" │ └── unescaped: "a\\\nb" ├── @ RegularExpressionNode (location: (19,0)-(20,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (19,0)-(19,3) = "%r{" │ ├── content_loc: (19,3)-(20,1) = "a\\\nb" │ ├── closing_loc: (20,1)-(20,2) = "}" │ └── unescaped: "ab" ├── @ SymbolNode (location: (22,0)-(23,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (22,0)-(22,3) = "%s{" │ ├── value_loc: (22,3)-(23,1) = "a\\\nb" │ ├── closing_loc: (23,1)-(23,2) = "}" │ └── unescaped: "a\\\nb" ├── @ ArrayNode (location: (25,0)-(26,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── elements: (length: 1) │ │ └── @ StringNode (location: (25,3)-(26,1)) │ │ ├── flags: ∅ @@ -78,61 +80,61 @@ │ ├── opening_loc: (25,0)-(25,3) = "%w{" │ └── closing_loc: (26,1)-(26,2) = "}" ├── @ XStringNode (location: (28,0)-(29,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (28,0)-(28,3) = "%x{" │ ├── content_loc: (28,3)-(29,1) = "a\\\nb" │ ├── closing_loc: (29,1)-(29,2) = "}" │ └── unescaped: "ab" ├── @ StringNode (location: (31,0)-(32,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (31,0)-(31,2) = "%{" │ ├── content_loc: (31,2)-(32,1) = "a\\\nb" │ ├── closing_loc: (32,1)-(32,2) = "}" │ └── unescaped: "ab" ├── @ StringNode (location: (34,0)-(35,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (34,0)-(34,1) = "'" │ ├── content_loc: (34,1)-(35,1) = "a\\\nb" │ ├── closing_loc: (35,1)-(35,2) = "'" │ └── unescaped: "a\\\nb" ├── @ RegularExpressionNode (location: (37,0)-(38,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (37,0)-(37,1) = "/" │ ├── content_loc: (37,1)-(38,1) = "a\\\nb" │ ├── closing_loc: (38,1)-(38,2) = "/" │ └── unescaped: "ab" ├── @ SymbolNode (location: (40,0)-(41,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (40,0)-(40,2) = ":\"" │ ├── value_loc: (40,2)-(41,1) = "a\\\nb" │ ├── closing_loc: (41,1)-(41,2) = "\"" │ └── unescaped: "ab" ├── @ SymbolNode (location: (43,0)-(44,2)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (43,0)-(43,2) = ":'" │ ├── value_loc: (43,2)-(44,1) = "a\\\nb" │ ├── closing_loc: (44,1)-(44,2) = "'" │ └── unescaped: "a\\\nb" ├── @ StringNode (location: (46,0)-(46,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (46,0)-(46,9) = "<<-\"HERE\"" │ ├── content_loc: (47,0)-(49,0) = "a\\\nb\n" │ ├── closing_loc: (49,0)-(50,0) = "HERE\n" │ └── unescaped: "ab\n" ├── @ StringNode (location: (51,0)-(51,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (51,0)-(51,9) = "<<-'HERE'" │ ├── content_loc: (52,0)-(54,0) = "a\\\nb\n" │ ├── closing_loc: (54,0)-(55,0) = "HERE\n" │ └── unescaped: "a\\\nb\n" ├── @ XStringNode (location: (56,0)-(56,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (56,0)-(56,9) = "<<-`HERE`" │ ├── content_loc: (57,0)-(59,0) = "a\\\nb\n" │ ├── closing_loc: (59,0)-(60,0) = "HERE\n" │ └── unescaped: "ab\n" └── @ XStringNode (location: (61,0)-(62,2)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (61,0)-(61,1) = "`" ├── content_loc: (61,1)-(62,1) = "a\\\nb" ├── closing_loc: (62,1)-(62,2) = "`" diff --git a/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt b/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt index 6f315780ad..e999ae406e 100644 --- a/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt +++ b/test/prism/snapshots/whitequark/pattern_matching__FILE__LINE_literals.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,8)-(3,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,8)-(3,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,8)-(3,11)) + ├── flags: newline ├── predicate: │ @ ArrayNode (location: (1,13)-(1,51)) │ ├── flags: ∅ @@ -15,6 +18,7 @@ │ │ │ ├── flags: ∅ │ │ │ ├── receiver: │ │ │ │ @ SourceLineNode (location: (1,24)-(1,32)) + │ │ │ │ └── flags: static_literal │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :+ │ │ │ ├── message_loc: (1,33)-(1,34) = "+" @@ -24,24 +28,29 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ IntegerNode (location: (1,35)-(1,36)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ SourceEncodingNode (location: (1,38)-(1,50)) + │ │ └── flags: static_literal │ ├── opening_loc: (1,13)-(1,14) = "[" │ └── closing_loc: (1,50)-(1,51) = "]" ├── conditions: (length: 1) │ └── @ InNode (location: (2,10)-(2,47)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ ArrayPatternNode (location: (2,13)-(2,47)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 3) │ │ │ ├── @ SourceFileNode (location: (2,14)-(2,22)) │ │ │ │ ├── flags: ∅ │ │ │ │ └── filepath: "whitequark/pattern_matching__FILE__LINE_literals.txt" │ │ │ ├── @ SourceLineNode (location: (2,24)-(2,32)) + │ │ │ │ └── flags: static_literal │ │ │ └── @ SourceEncodingNode (location: (2,34)-(2,46)) + │ │ │ └── flags: static_literal │ │ ├── rest: ∅ │ │ ├── posts: (length: 0) │ │ ├── opening_loc: (2,13)-(2,14) = "[" diff --git a/test/prism/snapshots/whitequark/pattern_matching_blank_else.txt b/test/prism/snapshots/whitequark/pattern_matching_blank_else.txt index 6015c000a9..be8c5979ef 100644 --- a/test/prism/snapshots/whitequark/pattern_matching_blank_else.txt +++ b/test/prism/snapshots/whitequark/pattern_matching_blank_else.txt @@ -1,29 +1,35 @@ @ ProgramNode (location: (1,0)-(1,26)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,26)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(1,26)) + ├── flags: newline ├── predicate: │ @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── conditions: (length: 1) │ └── @ InNode (location: (1,8)-(1,15)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ IntegerNode (location: (1,11)-(1,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── statements: │ │ @ StatementsNode (location: (1,14)-(1,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,14)-(1,15)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 3 │ ├── in_loc: (1,8)-(1,10) = "in" │ └── then_loc: ∅ ├── consequent: │ @ ElseNode (location: (1,17)-(1,26)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,17)-(1,21) = "else" │ ├── statements: ∅ │ └── end_keyword_loc: (1,23)-(1,26) = "end" diff --git a/test/prism/snapshots/whitequark/pattern_matching_else.txt b/test/prism/snapshots/whitequark/pattern_matching_else.txt index 7f83aafe99..62881bc33a 100644 --- a/test/prism/snapshots/whitequark/pattern_matching_else.txt +++ b/test/prism/snapshots/whitequark/pattern_matching_else.txt @@ -1,35 +1,42 @@ @ ProgramNode (location: (1,0)-(1,29)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,29)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseMatchNode (location: (1,0)-(1,29)) + ├── flags: newline ├── predicate: │ @ IntegerNode (location: (1,5)-(1,6)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── conditions: (length: 1) │ └── @ InNode (location: (1,8)-(1,15)) + │ ├── flags: ∅ │ ├── pattern: │ │ @ IntegerNode (location: (1,11)-(1,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ ├── statements: │ │ @ StatementsNode (location: (1,14)-(1,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,14)-(1,15)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 3 │ ├── in_loc: (1,8)-(1,10) = "in" │ └── then_loc: ∅ ├── consequent: │ @ ElseNode (location: (1,17)-(1,29)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,17)-(1,21) = "else" │ ├── statements: │ │ @ StatementsNode (location: (1,23)-(1,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,23)-(1,24)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 4 │ └── end_keyword_loc: (1,26)-(1,29) = "end" ├── case_keyword_loc: (1,0)-(1,4) = "case" diff --git a/test/prism/snapshots/whitequark/pattern_matching_single_line.txt b/test/prism/snapshots/whitequark/pattern_matching_single_line.txt index 2396172dce..f11ec00951 100644 --- a/test/prism/snapshots/whitequark/pattern_matching_single_line.txt +++ b/test/prism/snapshots/whitequark/pattern_matching_single_line.txt @@ -1,18 +1,23 @@ @ ProgramNode (location: (1,0)-(3,11)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(3,11)) + ├── flags: ∅ └── body: (length: 4) ├── @ MatchRequiredNode (location: (1,0)-(1,8)) + │ ├── flags: newline │ ├── value: │ │ @ IntegerNode (location: (1,0)-(1,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── pattern: │ │ @ ArrayPatternNode (location: (1,5)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (1,6)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -21,18 +26,22 @@ │ │ └── closing_loc: (1,7)-(1,8) = "]" │ └── operator_loc: (1,2)-(1,4) = "=>" ├── @ LocalVariableReadNode (location: (1,10)-(1,11)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── @ MatchPredicateNode (location: (3,0)-(3,8)) + │ ├── flags: newline │ ├── value: │ │ @ IntegerNode (location: (3,0)-(3,1)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── pattern: │ │ @ ArrayPatternNode (location: (3,5)-(3,8)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ LocalVariableTargetNode (location: (3,6)-(3,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -41,5 +50,6 @@ │ │ └── closing_loc: (3,7)-(3,8) = "]" │ └── operator_loc: (3,2)-(3,4) = "in" └── @ LocalVariableReadNode (location: (3,10)-(3,11)) + ├── flags: newline ├── name: :a └── depth: 0 diff --git a/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt b/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt index 757a7780c2..51542e9dd2 100644 --- a/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt +++ b/test/prism/snapshots/whitequark/pattern_matching_single_line_allowed_omission_of_parentheses.txt @@ -1,29 +1,35 @@ @ ProgramNode (location: (1,0)-(11,34)) +├── flags: ∅ ├── locals: [:a, :b, :value] └── statements: @ StatementsNode (location: (1,0)-(11,34)) + ├── flags: ∅ └── body: (length: 12) ├── @ MatchRequiredNode (location: (1,0)-(1,14)) + │ ├── flags: newline │ ├── value: │ │ @ ArrayNode (location: (1,0)-(1,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (1,1)-(1,2)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (1,4)-(1,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: (1,0)-(1,1) = "[" │ │ └── closing_loc: (1,5)-(1,6) = "]" │ ├── pattern: │ │ @ ArrayPatternNode (location: (1,10)-(1,14)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (1,10)-(1,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (1,13)-(1,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -32,29 +38,34 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (1,7)-(1,9) = "=>" ├── @ LocalVariableReadNode (location: (1,16)-(1,17)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── @ MatchPredicateNode (location: (3,0)-(3,14)) + │ ├── flags: newline │ ├── value: │ │ @ ArrayNode (location: (3,0)-(3,6)) - │ │ ├── flags: ∅ + │ │ ├── flags: static_literal │ │ ├── elements: (length: 2) │ │ │ ├── @ IntegerNode (location: (3,1)-(3,2)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ IntegerNode (location: (3,4)-(3,5)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── opening_loc: (3,0)-(3,1) = "[" │ │ └── closing_loc: (3,5)-(3,6) = "]" │ ├── pattern: │ │ @ ArrayPatternNode (location: (3,10)-(3,14)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── requireds: (length: 2) │ │ │ ├── @ LocalVariableTargetNode (location: (3,10)-(3,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── @ LocalVariableTargetNode (location: (3,13)-(3,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :b │ │ │ └── depth: 0 │ │ ├── rest: ∅ @@ -63,43 +74,51 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (3,7)-(3,9) = "in" ├── @ LocalVariableReadNode (location: (3,16)-(3,17)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── @ MatchRequiredNode (location: (5,0)-(5,12)) + │ ├── flags: newline │ ├── value: │ │ @ HashNode (location: (5,0)-(5,6)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (5,0)-(5,1) = "{" │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (5,1)-(5,5)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (5,1)-(5,3)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (5,1)-(5,2) = "a" │ │ │ │ ├── closing_loc: (5,2)-(5,3) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (5,4)-(5,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: ∅ │ │ └── closing_loc: (5,5)-(5,6) = "}" │ ├── pattern: │ │ @ HashPatternNode (location: (5,10)-(5,12)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (5,10)-(5,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (5,10)-(5,12)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (5,10)-(5,11) = "a" │ │ │ │ ├── closing_loc: (5,11)-(5,12) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (5,10)-(5,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ LocalVariableTargetNode (location: (5,10)-(5,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ @@ -108,43 +127,51 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (5,7)-(5,9) = "=>" ├── @ LocalVariableReadNode (location: (5,14)-(5,15)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── @ MatchPredicateNode (location: (7,0)-(7,12)) + │ ├── flags: newline │ ├── value: │ │ @ HashNode (location: (7,0)-(7,6)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (7,0)-(7,1) = "{" │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (7,1)-(7,5)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (7,1)-(7,3)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (7,1)-(7,2) = "a" │ │ │ │ ├── closing_loc: (7,2)-(7,3) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ IntegerNode (location: (7,4)-(7,5)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── operator_loc: ∅ │ │ └── closing_loc: (7,5)-(7,6) = "}" │ ├── pattern: │ │ @ HashPatternNode (location: (7,10)-(7,12)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (7,10)-(7,12)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (7,10)-(7,12)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (7,10)-(7,11) = "a" │ │ │ │ ├── closing_loc: (7,11)-(7,12) = ":" │ │ │ │ └── unescaped: "a" │ │ │ ├── value: │ │ │ │ @ ImplicitNode (location: (7,10)-(7,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── value: │ │ │ │ @ LocalVariableTargetNode (location: (7,10)-(7,11)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :a │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ @@ -153,24 +180,28 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (7,7)-(7,9) = "in" ├── @ LocalVariableReadNode (location: (7,14)-(7,15)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── @ MatchRequiredNode (location: (9,0)-(9,27)) + │ ├── flags: newline │ ├── value: │ │ @ HashNode (location: (9,0)-(9,13)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (9,0)-(9,1) = "{" │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (9,1)-(9,12)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (9,1)-(9,5)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (9,1)-(9,4) = "key" │ │ │ │ ├── closing_loc: (9,4)-(9,5) = ":" │ │ │ │ └── unescaped: "key" │ │ │ ├── value: │ │ │ │ @ SymbolNode (location: (9,6)-(9,12)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (9,6)-(9,7) = ":" │ │ │ │ ├── value_loc: (9,7)-(9,12) = "value" │ │ │ │ ├── closing_loc: ∅ @@ -179,18 +210,21 @@ │ │ └── closing_loc: (9,12)-(9,13) = "}" │ ├── pattern: │ │ @ HashPatternNode (location: (9,17)-(9,27)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (9,17)-(9,27)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (9,17)-(9,21)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (9,17)-(9,20) = "key" │ │ │ │ ├── closing_loc: (9,20)-(9,21) = ":" │ │ │ │ └── unescaped: "key" │ │ │ ├── value: │ │ │ │ @ LocalVariableTargetNode (location: (9,22)-(9,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :value │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ @@ -199,24 +233,28 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (9,14)-(9,16) = "=>" ├── @ LocalVariableReadNode (location: (9,29)-(9,34)) + │ ├── flags: newline │ ├── name: :value │ └── depth: 0 ├── @ MatchPredicateNode (location: (11,0)-(11,27)) + │ ├── flags: newline │ ├── value: │ │ @ HashNode (location: (11,0)-(11,13)) + │ │ ├── flags: static_literal │ │ ├── opening_loc: (11,0)-(11,1) = "{" │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (11,1)-(11,12)) + │ │ │ ├── flags: static_literal │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (11,1)-(11,5)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (11,1)-(11,4) = "key" │ │ │ │ ├── closing_loc: (11,4)-(11,5) = ":" │ │ │ │ └── unescaped: "key" │ │ │ ├── value: │ │ │ │ @ SymbolNode (location: (11,6)-(11,12)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (11,6)-(11,7) = ":" │ │ │ │ ├── value_loc: (11,7)-(11,12) = "value" │ │ │ │ ├── closing_loc: ∅ @@ -225,18 +263,21 @@ │ │ └── closing_loc: (11,12)-(11,13) = "}" │ ├── pattern: │ │ @ HashPatternNode (location: (11,17)-(11,27)) + │ │ ├── flags: ∅ │ │ ├── constant: ∅ │ │ ├── elements: (length: 1) │ │ │ └── @ AssocNode (location: (11,17)-(11,27)) + │ │ │ ├── flags: ∅ │ │ │ ├── key: │ │ │ │ @ SymbolNode (location: (11,17)-(11,21)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── value_loc: (11,17)-(11,20) = "key" │ │ │ │ ├── closing_loc: (11,20)-(11,21) = ":" │ │ │ │ └── unescaped: "key" │ │ │ ├── value: │ │ │ │ @ LocalVariableTargetNode (location: (11,22)-(11,27)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── name: :value │ │ │ │ └── depth: 0 │ │ │ └── operator_loc: ∅ @@ -245,5 +286,6 @@ │ │ └── closing_loc: ∅ │ └── operator_loc: (11,14)-(11,16) = "in" └── @ LocalVariableReadNode (location: (11,29)-(11,34)) + ├── flags: newline ├── name: :value └── depth: 0 diff --git a/test/prism/snapshots/whitequark/postexe.txt b/test/prism/snapshots/whitequark/postexe.txt index 6f27327063..f4648b8a98 100644 --- a/test/prism/snapshots/whitequark/postexe.txt +++ b/test/prism/snapshots/whitequark/postexe.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ PostExecutionNode (location: (1,0)-(1,9)) + ├── flags: newline ├── statements: │ @ StatementsNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── keyword_loc: (1,0)-(1,3) = "END" ├── opening_loc: (1,4)-(1,5) = "{" diff --git a/test/prism/snapshots/whitequark/preexe.txt b/test/prism/snapshots/whitequark/preexe.txt index 5e4b88d096..f9fe60d07a 100644 --- a/test/prism/snapshots/whitequark/preexe.txt +++ b/test/prism/snapshots/whitequark/preexe.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ PreExecutionNode (location: (1,0)-(1,11)) + ├── flags: newline ├── statements: │ @ StatementsNode (location: (1,8)-(1,9)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── keyword_loc: (1,0)-(1,5) = "BEGIN" ├── opening_loc: (1,6)-(1,7) = "{" diff --git a/test/prism/snapshots/whitequark/procarg0.txt b/test/prism/snapshots/whitequark/procarg0.txt index 378c7e5b36..90e03ce940 100644 --- a/test/prism/snapshots/whitequark/procarg0.txt +++ b/test/prism/snapshots/whitequark/procarg0.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,11)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,18)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -14,13 +16,17 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,2)-(1,18)) + │ ├── flags: ∅ │ ├── locals: [:foo, :bar] │ ├── parameters: │ │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ MultiTargetNode (location: (1,5)-(1,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── lefts: (length: 2) │ │ │ │ │ ├── @ RequiredParameterNode (location: (1,6)-(1,9)) │ │ │ │ │ │ ├── flags: ∅ @@ -45,7 +51,7 @@ │ ├── opening_loc: (1,2)-(1,3) = "{" │ └── closing_loc: (1,17)-(1,18) = "}" └── @ CallNode (location: (3,0)-(3,11)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -55,11 +61,14 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (3,2)-(3,11)) + ├── flags: ∅ ├── locals: [:foo] ├── parameters: │ @ BlockParametersNode (location: (3,4)-(3,9)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (3,5)-(3,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (3,5)-(3,8)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/range_exclusive.txt b/test/prism/snapshots/whitequark/range_exclusive.txt index f74077ce67..2351c33fbc 100644 --- a/test/prism/snapshots/whitequark/range_exclusive.txt +++ b/test/prism/snapshots/whitequark/range_exclusive.txt @@ -1,16 +1,18 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,5)) - ├── flags: exclude_end + ├── flags: newline, static_literal, exclude_end ├── left: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── right: │ @ IntegerNode (location: (1,4)-(1,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 └── operator_loc: (1,1)-(1,4) = "..." diff --git a/test/prism/snapshots/whitequark/range_inclusive.txt b/test/prism/snapshots/whitequark/range_inclusive.txt index 1836312033..6d703816d6 100644 --- a/test/prism/snapshots/whitequark/range_inclusive.txt +++ b/test/prism/snapshots/whitequark/range_inclusive.txt @@ -1,16 +1,18 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ RangeNode (location: (1,0)-(1,4)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── left: │ @ IntegerNode (location: (1,0)-(1,1)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── right: │ @ IntegerNode (location: (1,3)-(1,4)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 └── operator_loc: (1,1)-(1,3) = ".." diff --git a/test/prism/snapshots/whitequark/rational.txt b/test/prism/snapshots/whitequark/rational.txt index e8c8eed508..f35fa5b5e3 100644 --- a/test/prism/snapshots/whitequark/rational.txt +++ b/test/prism/snapshots/whitequark/rational.txt @@ -1,13 +1,15 @@ @ ProgramNode (location: (1,0)-(3,3)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,3)) + ├── flags: ∅ └── body: (length: 2) ├── @ RationalNode (location: (1,0)-(1,5)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ ├── numerator: 421 │ └── denominator: 10 └── @ RationalNode (location: (3,0)-(3,3)) - ├── flags: decimal + ├── flags: newline, static_literal, decimal ├── numerator: 42 └── denominator: 1 diff --git a/test/prism/snapshots/whitequark/regex_interp.txt b/test/prism/snapshots/whitequark/regex_interp.txt index 0a6db4cfdf..e440274cc2 100644 --- a/test/prism/snapshots/whitequark/regex_interp.txt +++ b/test/prism/snapshots/whitequark/regex_interp.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedRegularExpressionNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "/" ├── parts: (length: 3) │ ├── @ StringNode (location: (1,1)-(1,4)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,1)-(1,4) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── @ EmbeddedStatementsNode (location: (1,4)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,4)-(1,6) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,6)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,6)-(1,9)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -30,7 +34,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (1,9)-(1,10) = "}" │ └── @ StringNode (location: (1,10)-(1,13)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,10)-(1,13) = "baz" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/regex_plain.txt b/test/prism/snapshots/whitequark/regex_plain.txt index df771f7a21..44dde97c79 100644 --- a/test/prism/snapshots/whitequark/regex_plain.txt +++ b/test/prism/snapshots/whitequark/regex_plain.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ RegularExpressionNode (location: (1,0)-(1,10)) - ├── flags: ignore_case, multi_line, forced_us_ascii_encoding + ├── flags: newline, static_literal, ignore_case, multi_line, forced_us_ascii_encoding ├── opening_loc: (1,0)-(1,1) = "/" ├── content_loc: (1,1)-(1,7) = "source" ├── closing_loc: (1,7)-(1,10) = "/im" diff --git a/test/prism/snapshots/whitequark/resbody_list.txt b/test/prism/snapshots/whitequark/resbody_list.txt index 52fcfd02e0..b7d1292a49 100644 --- a/test/prism/snapshots/whitequark/resbody_list.txt +++ b/test/prism/snapshots/whitequark/resbody_list.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,39)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,39)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,39)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -20,17 +24,20 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,34)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" │ ├── exceptions: (length: 1) │ │ └── @ ConstantReadNode (location: (1,20)-(1,29)) + │ │ ├── flags: ∅ │ │ └── name: :Exception │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,31)-(1,34)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,31)-(1,34)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/resbody_list_mrhs.txt b/test/prism/snapshots/whitequark/resbody_list_mrhs.txt index d48ddb120d..ba1e338700 100644 --- a/test/prism/snapshots/whitequark/resbody_list_mrhs.txt +++ b/test/prism/snapshots/whitequark/resbody_list_mrhs.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,44)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,44)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,44)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -20,9 +24,11 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,39)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" │ ├── exceptions: (length: 2) │ │ ├── @ ConstantReadNode (location: (1,20)-(1,29)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :Exception │ │ └── @ CallNode (location: (1,31)-(1,34)) │ │ ├── flags: variable_call, ignore_visibility @@ -38,9 +44,10 @@ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,36)-(1,39)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,36)-(1,39)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/resbody_list_var.txt b/test/prism/snapshots/whitequark/resbody_list_var.txt index 85efb1a3de..1c9f03c0cf 100644 --- a/test/prism/snapshots/whitequark/resbody_list_var.txt +++ b/test/prism/snapshots/whitequark/resbody_list_var.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,39)) +├── flags: ∅ ├── locals: [:ex] └── statements: @ StatementsNode (location: (1,0)-(1,39)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,39)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -20,6 +24,7 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,34)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" │ ├── exceptions: (length: 1) │ │ └── @ CallNode (location: (1,20)-(1,23)) @@ -35,13 +40,15 @@ │ ├── operator_loc: (1,24)-(1,26) = "=>" │ ├── reference: │ │ @ LocalVariableTargetNode (location: (1,27)-(1,29)) + │ │ ├── flags: ∅ │ │ ├── name: :ex │ │ └── depth: 0 │ ├── statements: │ │ @ StatementsNode (location: (1,31)-(1,34)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,31)-(1,34)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/resbody_var.txt b/test/prism/snapshots/whitequark/resbody_var.txt index e12d921c75..114064ecce 100644 --- a/test/prism/snapshots/whitequark/resbody_var.txt +++ b/test/prism/snapshots/whitequark/resbody_var.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(3,35)) +├── flags: ∅ ├── locals: [:ex] └── statements: @ StatementsNode (location: (1,0)-(3,35)) + ├── flags: ∅ └── body: (length: 2) ├── @ BeginNode (location: (1,0)-(1,36)) + │ ├── flags: newline │ ├── begin_keyword_loc: (1,0)-(1,5) = "begin" │ ├── statements: │ │ @ StatementsNode (location: (1,7)-(1,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,7)-(1,11)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :meth @@ -20,17 +24,20 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (1,13)-(1,31)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: (1,20)-(1,22) = "=>" │ │ ├── reference: │ │ │ @ InstanceVariableTargetNode (location: (1,23)-(1,26)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@ex │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,28)-(1,31)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,28)-(1,31)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar @@ -44,12 +51,14 @@ │ ├── ensure_clause: ∅ │ └── end_keyword_loc: (1,33)-(1,36) = "end" └── @ BeginNode (location: (3,0)-(3,35)) + ├── flags: newline ├── begin_keyword_loc: (3,0)-(3,5) = "begin" ├── statements: │ @ StatementsNode (location: (3,7)-(3,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (3,7)-(3,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -60,18 +69,21 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (3,13)-(3,30)) + │ ├── flags: ∅ │ ├── keyword_loc: (3,13)-(3,19) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: (3,20)-(3,22) = "=>" │ ├── reference: │ │ @ LocalVariableTargetNode (location: (3,23)-(3,25)) + │ │ ├── flags: ∅ │ │ ├── name: :ex │ │ └── depth: 0 │ ├── statements: │ │ @ StatementsNode (location: (3,27)-(3,30)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,27)-(3,30)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/rescue.txt b/test/prism/snapshots/whitequark/rescue.txt index 28c4f11e67..388d6212f5 100644 --- a/test/prism/snapshots/whitequark/rescue.txt +++ b/test/prism/snapshots/whitequark/rescue.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,29)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,29)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,29)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -20,15 +24,17 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,21)-(1,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo diff --git a/test/prism/snapshots/whitequark/rescue_else.txt b/test/prism/snapshots/whitequark/rescue_else.txt index 36b01a7ef6..cbb68160e7 100644 --- a/test/prism/snapshots/whitequark/rescue_else.txt +++ b/test/prism/snapshots/whitequark/rescue_else.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,40)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,40)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,40)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -20,15 +24,17 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,21)-(1,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -40,12 +46,14 @@ │ └── consequent: ∅ ├── else_clause: │ @ ElseNode (location: (1,26)-(1,40)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,26)-(1,30) = "else" │ ├── statements: │ │ @ StatementsNode (location: (1,32)-(1,35)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,32)-(1,35)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/rescue_else_ensure.txt b/test/prism/snapshots/whitequark/rescue_else_ensure.txt index d97821931b..5b9f0e210b 100644 --- a/test/prism/snapshots/whitequark/rescue_else_ensure.txt +++ b/test/prism/snapshots/whitequark/rescue_else_ensure.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,51)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,51)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,51)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -20,15 +24,17 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,21)-(1,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -40,12 +46,14 @@ │ └── consequent: ∅ ├── else_clause: │ @ ElseNode (location: (1,26)-(1,42)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,26)-(1,30) = "else" │ ├── statements: │ │ @ StatementsNode (location: (1,31)-(1,34)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,31)-(1,34)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -57,12 +65,14 @@ │ └── end_keyword_loc: (1,36)-(1,42) = "ensure" ├── ensure_clause: │ @ EnsureNode (location: (1,36)-(1,51)) + │ ├── flags: ∅ │ ├── ensure_keyword_loc: (1,36)-(1,42) = "ensure" │ ├── statements: │ │ @ StatementsNode (location: (1,44)-(1,47)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,44)-(1,47)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/rescue_ensure.txt b/test/prism/snapshots/whitequark/rescue_ensure.txt index f6cddbcc5e..e0f02cba9a 100644 --- a/test/prism/snapshots/whitequark/rescue_ensure.txt +++ b/test/prism/snapshots/whitequark/rescue_ensure.txt @@ -1,15 +1,19 @@ @ ProgramNode (location: (1,0)-(1,42)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,42)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,42)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,7)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,7)-(1,11)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -20,15 +24,17 @@ │ └── block: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,13)-(1,24)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,13)-(1,19) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ │ ├── reference: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,21)-(1,24)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,21)-(1,24)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz @@ -41,12 +47,14 @@ ├── else_clause: ∅ ├── ensure_clause: │ @ EnsureNode (location: (1,26)-(1,42)) + │ ├── flags: ∅ │ ├── ensure_keyword_loc: (1,26)-(1,32) = "ensure" │ ├── statements: │ │ @ StatementsNode (location: (1,34)-(1,37)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,34)-(1,37)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/rescue_in_lambda_block.txt b/test/prism/snapshots/whitequark/rescue_in_lambda_block.txt index 2ab854cdd7..ae6285af3a 100644 --- a/test/prism/snapshots/whitequark/rescue_in_lambda_block.txt +++ b/test/prism/snapshots/whitequark/rescue_in_lambda_block.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,17)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,17)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,17)) + ├── flags: newline ├── locals: [] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,3)-(1,5) = "do" @@ -11,10 +14,12 @@ ├── parameters: ∅ └── body: @ BeginNode (location: (1,3)-(1,17)) + ├── flags: ∅ ├── begin_keyword_loc: ∅ ├── statements: ∅ ├── rescue_clause: │ @ RescueNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,6)-(1,12) = "rescue" │ ├── exceptions: (length: 0) │ ├── operator_loc: ∅ diff --git a/test/prism/snapshots/whitequark/rescue_mod.txt b/test/prism/snapshots/whitequark/rescue_mod.txt index cd4f0fff45..abed85c1b9 100644 --- a/test/prism/snapshots/whitequark/rescue_mod.txt +++ b/test/prism/snapshots/whitequark/rescue_mod.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ RescueModifierNode (location: (1,0)-(1,15)) + ├── flags: newline ├── expression: │ @ CallNode (location: (1,0)-(1,4)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/rescue_mod_asgn.txt b/test/prism/snapshots/whitequark/rescue_mod_asgn.txt index ee094138e5..a2fa161e4e 100644 --- a/test/prism/snapshots/whitequark/rescue_mod_asgn.txt +++ b/test/prism/snapshots/whitequark/rescue_mod_asgn.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,21)) +├── flags: ∅ ├── locals: [:foo] └── statements: @ StatementsNode (location: (1,0)-(1,21)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableWriteNode (location: (1,0)-(1,21)) + ├── flags: newline ├── name: :foo ├── depth: 0 ├── name_loc: (1,0)-(1,3) = "foo" ├── value: │ @ RescueModifierNode (location: (1,6)-(1,21)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (1,6)-(1,10)) │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/rescue_mod_masgn.txt b/test/prism/snapshots/whitequark/rescue_mod_masgn.txt index dbe289702f..b5ca37b129 100644 --- a/test/prism/snapshots/whitequark/rescue_mod_masgn.txt +++ b/test/prism/snapshots/whitequark/rescue_mod_masgn.txt @@ -1,14 +1,19 @@ @ ProgramNode (location: (1,0)-(1,29)) +├── flags: ∅ ├── locals: [:foo, :bar] └── statements: @ StatementsNode (location: (1,0)-(1,29)) + ├── flags: ∅ └── body: (length: 1) └── @ MultiWriteNode (location: (1,0)-(1,29)) + ├── flags: newline ├── lefts: (length: 2) │ ├── @ LocalVariableTargetNode (location: (1,0)-(1,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ └── @ LocalVariableTargetNode (location: (1,5)-(1,8)) + │ ├── flags: ∅ │ ├── name: :bar │ └── depth: 0 ├── rest: ∅ @@ -18,6 +23,7 @@ ├── operator_loc: (1,9)-(1,10) = "=" └── value: @ RescueModifierNode (location: (1,11)-(1,29)) + ├── flags: ∅ ├── expression: │ @ CallNode (location: (1,11)-(1,15)) │ ├── flags: variable_call, ignore_visibility @@ -32,13 +38,13 @@ ├── keyword_loc: (1,16)-(1,22) = "rescue" └── rescue_expression: @ ArrayNode (location: (1,23)-(1,29)) - ├── flags: ∅ + ├── flags: static_literal ├── elements: (length: 2) │ ├── @ IntegerNode (location: (1,24)-(1,25)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ IntegerNode (location: (1,27)-(1,28)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── opening_loc: (1,23)-(1,24) = "[" └── closing_loc: (1,28)-(1,29) = "]" diff --git a/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt b/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt index 840e5a4fc0..22101d7c98 100644 --- a/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt +++ b/test/prism/snapshots/whitequark/rescue_mod_op_assign.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(1,22)) +├── flags: ∅ ├── locals: [:foo] └── statements: @ StatementsNode (location: (1,0)-(1,22)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,22)) + ├── flags: newline ├── name_loc: (1,0)-(1,3) = "foo" ├── binary_operator_loc: (1,4)-(1,6) = "+=" ├── value: │ @ RescueModifierNode (location: (1,7)-(1,22)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (1,7)-(1,11)) │ │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/rescue_without_begin_end.txt b/test/prism/snapshots/whitequark/rescue_without_begin_end.txt index 4281442ab2..e6ec38d27d 100644 --- a/test/prism/snapshots/whitequark/rescue_without_begin_end.txt +++ b/test/prism/snapshots/whitequark/rescue_without_begin_end.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,30)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,30)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,30)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :meth @@ -14,16 +16,19 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,5)-(1,30)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ BeginNode (location: (1,5)-(1,30)) + │ ├── flags: ∅ │ ├── begin_keyword_loc: ∅ │ ├── statements: │ │ @ StatementsNode (location: (1,9)-(1,12)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,9)-(1,12)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -34,15 +39,17 @@ │ │ └── block: ∅ │ ├── rescue_clause: │ │ @ RescueNode (location: (1,14)-(1,25)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (1,14)-(1,20) = "rescue" │ │ ├── exceptions: (length: 0) │ │ ├── operator_loc: ∅ │ │ ├── reference: ∅ │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,22)-(1,25)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,22)-(1,25)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/restarg_named.txt b/test/prism/snapshots/whitequark/restarg_named.txt index fab9dd9a79..0bb6b9d2ba 100644 --- a/test/prism/snapshots/whitequark/restarg_named.txt +++ b/test/prism/snapshots/whitequark/restarg_named.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,16)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,10)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: diff --git a/test/prism/snapshots/whitequark/restarg_unnamed.txt b/test/prism/snapshots/whitequark/restarg_unnamed.txt index 077230f7ba..0fc102a82c 100644 --- a/test/prism/snapshots/whitequark/restarg_unnamed.txt +++ b/test/prism/snapshots/whitequark/restarg_unnamed.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,13)) + ├── flags: newline ├── name: :f ├── name_loc: (1,4)-(1,5) = "f" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ ├── requireds: (length: 0) │ ├── optionals: (length: 0) │ ├── rest: diff --git a/test/prism/snapshots/whitequark/return.txt b/test/prism/snapshots/whitequark/return.txt index 5c98259103..1e059ba63c 100644 --- a/test/prism/snapshots/whitequark/return.txt +++ b/test/prism/snapshots/whitequark/return.txt @@ -1,14 +1,16 @@ @ ProgramNode (location: (1,0)-(7,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,11)) + ├── flags: ∅ └── body: (length: 4) ├── @ ReturnNode (location: (1,0)-(1,6)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,6) = "return" │ └── arguments: ∅ ├── @ ReturnNode (location: (3,0)-(3,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (3,0)-(3,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (3,7)-(3,10)) @@ -25,29 +27,32 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ReturnNode (location: (5,0)-(5,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (5,0)-(5,6) = "return" │ └── arguments: │ @ ArgumentsNode (location: (5,6)-(5,8)) │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (5,6)-(5,8)) + │ ├── flags: ∅ │ ├── body: ∅ │ ├── opening_loc: (5,6)-(5,7) = "(" │ └── closing_loc: (5,7)-(5,8) = ")" └── @ ReturnNode (location: (7,0)-(7,11)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (7,0)-(7,6) = "return" └── arguments: @ ArgumentsNode (location: (7,6)-(7,11)) ├── flags: ∅ └── arguments: (length: 1) └── @ ParenthesesNode (location: (7,6)-(7,11)) + ├── flags: ∅ ├── body: │ @ StatementsNode (location: (7,7)-(7,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (7,7)-(7,10)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :foo diff --git a/test/prism/snapshots/whitequark/return_block.txt b/test/prism/snapshots/whitequark/return_block.txt index 36746a361b..90161b6750 100644 --- a/test/prism/snapshots/whitequark/return_block.txt +++ b/test/prism/snapshots/whitequark/return_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,21)) + ├── flags: ∅ └── body: (length: 1) └── @ ReturnNode (location: (1,0)-(1,21)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (1,0)-(1,6) = "return" └── arguments: @ ArgumentsNode (location: (1,7)-(1,21)) @@ -34,6 +36,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,15)-(1,21)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_10279.txt b/test/prism/snapshots/whitequark/ruby_bug_10279.txt index 66684350a4..6e5adfd4a6 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_10279.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_10279.txt @@ -1,30 +1,37 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ HashNode (location: (1,0)-(1,24)) + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "{" ├── elements: (length: 1) │ └── @ AssocNode (location: (1,1)-(1,23)) + │ ├── flags: ∅ │ ├── key: │ │ @ SymbolNode (location: (1,1)-(1,3)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,1)-(1,2) = "a" │ │ ├── closing_loc: (1,2)-(1,3) = ":" │ │ └── unescaped: "a" │ ├── value: │ │ @ IfNode (location: (1,4)-(1,23)) + │ │ ├── flags: newline │ │ ├── if_keyword_loc: (1,4)-(1,6) = "if" │ │ ├── predicate: │ │ │ @ TrueNode (location: (1,7)-(1,11)) + │ │ │ └── flags: static_literal │ │ ├── then_keyword_loc: (1,12)-(1,16) = "then" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,17)-(1,19)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (1,17)-(1,19)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 42 │ │ ├── consequent: ∅ │ │ └── end_keyword_loc: (1,20)-(1,23) = "end" diff --git a/test/prism/snapshots/whitequark/ruby_bug_10653.txt b/test/prism/snapshots/whitequark/ruby_bug_10653.txt index 400a8c2861..37e19ccca6 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_10653.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_10653.txt @@ -1,18 +1,23 @@ @ ProgramNode (location: (1,0)-(5,31)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,31)) + ├── flags: ∅ └── body: (length: 3) ├── @ IfNode (location: (1,0)-(1,33)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ FalseNode (location: (1,0)-(1,5)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: (1,6)-(1,7) = "?" │ ├── statements: │ │ @ StatementsNode (location: (1,8)-(1,20)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,8)-(1,20)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -22,6 +27,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (1,14)-(1,20)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -29,12 +35,14 @@ │ │ └── closing_loc: (1,17)-(1,20) = "end" │ ├── consequent: │ │ @ ElseNode (location: (1,21)-(1,33)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (1,21)-(1,22) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,23)-(1,33)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,23)-(1,33)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :tap @@ -44,6 +52,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (1,27)-(1,33)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -52,15 +61,18 @@ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ ├── @ IfNode (location: (3,0)-(3,25)) + │ ├── flags: newline │ ├── if_keyword_loc: ∅ │ ├── predicate: │ │ @ FalseNode (location: (3,0)-(3,5)) + │ │ └── flags: static_literal │ ├── then_keyword_loc: (3,6)-(3,7) = "?" │ ├── statements: │ │ @ StatementsNode (location: (3,8)-(3,16)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,8)-(3,16)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :raise @@ -70,6 +82,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (3,14)-(3,16)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -77,12 +90,14 @@ │ │ └── closing_loc: (3,15)-(3,16) = "}" │ ├── consequent: │ │ @ ElseNode (location: (3,17)-(3,25)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (3,17)-(3,18) = ":" │ │ ├── statements: │ │ │ @ StatementsNode (location: (3,19)-(3,25)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (3,19)-(3,25)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :tap @@ -92,6 +107,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (3,23)-(3,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: ∅ @@ -100,18 +116,21 @@ │ │ └── end_keyword_loc: ∅ │ └── end_keyword_loc: ∅ └── @ IfNode (location: (5,0)-(5,31)) + ├── flags: newline ├── if_keyword_loc: ∅ ├── predicate: │ @ TrueNode (location: (5,0)-(5,4)) + │ └── flags: static_literal ├── then_keyword_loc: (5,5)-(5,6) = "?" ├── statements: │ @ StatementsNode (location: (5,7)-(5,27)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (5,7)-(5,27)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ IntegerNode (location: (5,7)-(5,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── call_operator_loc: (5,8)-(5,9) = "." │ ├── name: :tap @@ -121,11 +140,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,13)-(5,27)) + │ ├── flags: ∅ │ ├── locals: [:n] │ ├── parameters: │ │ @ BlockParametersNode (location: (5,16)-(5,19)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (5,17)-(5,18)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (5,17)-(5,18)) │ │ │ │ ├── flags: ∅ @@ -141,9 +163,10 @@ │ │ └── closing_loc: (5,18)-(5,19) = "|" │ ├── body: │ │ @ StatementsNode (location: (5,20)-(5,23)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (5,20)-(5,23)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :p @@ -154,6 +177,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ LocalVariableReadNode (location: (5,22)-(5,23)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :n │ │ │ └── depth: 0 │ │ ├── closing_loc: ∅ @@ -162,12 +186,14 @@ │ └── closing_loc: (5,24)-(5,27) = "end" ├── consequent: │ @ ElseNode (location: (5,28)-(5,31)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (5,28)-(5,29) = ":" │ ├── statements: │ │ @ StatementsNode (location: (5,30)-(5,31)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (5,30)-(5,31)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 0 │ └── end_keyword_loc: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11107.txt b/test/prism/snapshots/whitequark/ruby_bug_11107.txt index 36ece50d88..4ed332f903 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11107.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11107.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,24)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -15,21 +17,24 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LambdaNode (location: (1,2)-(1,24)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── operator_loc: (1,2)-(1,4) = "->" │ ├── opening_loc: (1,7)-(1,9) = "do" │ ├── closing_loc: (1,21)-(1,24) = "end" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,4)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: ∅ │ │ ├── locals: (length: 0) │ │ ├── opening_loc: (1,4)-(1,5) = "(" │ │ └── closing_loc: (1,5)-(1,6) = ")" │ └── body: │ @ StatementsNode (location: (1,10)-(1,20)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,10)-(1,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -39,6 +44,7 @@ │ ├── closing_loc: (1,12)-(1,13) = ")" │ └── block: │ @ BlockNode (location: (1,14)-(1,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11380.txt b/test/prism/snapshots/whitequark/ruby_bug_11380.txt index d5ec10b06c..5893034b65 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11380.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11380.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,28)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,28)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -15,6 +17,7 @@ │ ├── flags: contains_keywords │ └── arguments: (length: 2) │ ├── @ LambdaNode (location: (1,2)-(1,15)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── operator_loc: (1,2)-(1,4) = "->" │ │ ├── opening_loc: (1,5)-(1,6) = "{" @@ -22,9 +25,10 @@ │ │ ├── parameters: ∅ │ │ └── body: │ │ @ StatementsNode (location: (1,7)-(1,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ SymbolNode (location: (1,7)-(1,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,7)-(1,8) = ":" │ │ ├── value_loc: (1,8)-(1,13) = "hello" │ │ ├── closing_loc: ∅ @@ -33,21 +37,23 @@ │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,17)-(1,21)) + │ ├── flags: static_literal │ ├── key: │ │ @ SymbolNode (location: (1,17)-(1,19)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,17)-(1,18) = "a" │ │ ├── closing_loc: (1,18)-(1,19) = ":" │ │ └── unescaped: "a" │ ├── value: │ │ @ IntegerNode (location: (1,20)-(1,21)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: ∅ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,22)-(1,28)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873.txt b/test/prism/snapshots/whitequark/ruby_bug_11873.txt index 2999662cc4..a92b217482 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11873.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11873.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(23,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(23,22)) + ├── flags: ∅ └── body: (length: 12) ├── @ CallNode (location: (1,0)-(1,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -59,13 +61,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,14)-(1,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,14)-(1,16) = "do" │ └── closing_loc: (1,17)-(1,20) = "end" ├── @ CallNode (location: (3,0)-(3,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -112,7 +115,7 @@ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")" │ │ │ └── block: ∅ │ │ └── @ RegularExpressionNode (location: (3,10)-(3,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (3,10)-(3,11) = "/" │ │ ├── content_loc: (3,11)-(3,12) = "x" │ │ ├── closing_loc: (3,12)-(3,13) = "/" @@ -120,13 +123,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,14)-(3,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (3,14)-(3,16) = "do" │ └── closing_loc: (3,17)-(3,20) = "end" ├── @ CallNode (location: (5,0)-(5,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -173,7 +177,7 @@ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")" │ │ │ └── block: ∅ │ │ └── @ RegularExpressionNode (location: (5,10)-(5,14)) - │ │ ├── flags: multi_line, forced_us_ascii_encoding + │ │ ├── flags: static_literal, multi_line, forced_us_ascii_encoding │ │ ├── opening_loc: (5,10)-(5,11) = "/" │ │ ├── content_loc: (5,11)-(5,12) = "x" │ │ ├── closing_loc: (5,12)-(5,14) = "/m" @@ -181,13 +185,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,15)-(5,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (5,15)-(5,17) = "do" │ └── closing_loc: (5,18)-(5,21) = "end" ├── @ CallNode (location: (7,0)-(7,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -242,13 +247,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (7,15)-(7,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (7,15)-(7,17) = "do" │ └── closing_loc: (7,18)-(7,21) = "end" ├── @ CallNode (location: (9,0)-(9,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -295,7 +301,7 @@ │ │ │ ├── closing_loc: (9,8)-(9,9) = ")" │ │ │ └── block: ∅ │ │ └── @ RegularExpressionNode (location: (9,11)-(9,14)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (9,11)-(9,12) = "/" │ │ ├── content_loc: (9,12)-(9,13) = "x" │ │ ├── closing_loc: (9,13)-(9,14) = "/" @@ -303,13 +309,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (9,15)-(9,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (9,15)-(9,17) = "do" │ └── closing_loc: (9,18)-(9,21) = "end" ├── @ CallNode (location: (11,0)-(11,22)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -356,7 +363,7 @@ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")" │ │ │ └── block: ∅ │ │ └── @ RegularExpressionNode (location: (11,11)-(11,15)) - │ │ ├── flags: multi_line, forced_us_ascii_encoding + │ │ ├── flags: static_literal, multi_line, forced_us_ascii_encoding │ │ ├── opening_loc: (11,11)-(11,12) = "/" │ │ ├── content_loc: (11,12)-(11,13) = "x" │ │ ├── closing_loc: (11,13)-(11,15) = "/m" @@ -364,13 +371,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (11,16)-(11,22)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (11,16)-(11,18) = "do" │ └── closing_loc: (11,19)-(11,22) = "end" ├── @ CallNode (location: (13,0)-(13,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -391,13 +399,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (13,3)-(13,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (13,4)-(13,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (13,4)-(13,7)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -430,13 +440,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (13,14)-(13,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (13,14)-(13,16) = "do" │ └── closing_loc: (13,17)-(13,20) = "end" ├── @ CallNode (location: (15,0)-(15,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -457,13 +468,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (15,3)-(15,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (15,4)-(15,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (15,4)-(15,7)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -488,7 +501,7 @@ │ │ │ ├── opening_loc: (15,3)-(15,4) = "{" │ │ │ └── closing_loc: (15,7)-(15,8) = "}" │ │ └── @ RegularExpressionNode (location: (15,10)-(15,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (15,10)-(15,11) = "/" │ │ ├── content_loc: (15,11)-(15,12) = "x" │ │ ├── closing_loc: (15,12)-(15,13) = "/" @@ -496,13 +509,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (15,14)-(15,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (15,14)-(15,16) = "do" │ └── closing_loc: (15,17)-(15,20) = "end" ├── @ CallNode (location: (17,0)-(17,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -523,13 +537,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (17,3)-(17,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (17,4)-(17,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (17,4)-(17,7)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -554,7 +570,7 @@ │ │ │ ├── opening_loc: (17,3)-(17,4) = "{" │ │ │ └── closing_loc: (17,7)-(17,8) = "}" │ │ └── @ RegularExpressionNode (location: (17,10)-(17,14)) - │ │ ├── flags: multi_line, forced_us_ascii_encoding + │ │ ├── flags: static_literal, multi_line, forced_us_ascii_encoding │ │ ├── opening_loc: (17,10)-(17,11) = "/" │ │ ├── content_loc: (17,11)-(17,12) = "x" │ │ ├── closing_loc: (17,12)-(17,14) = "/m" @@ -562,13 +578,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (17,15)-(17,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (17,15)-(17,17) = "do" │ └── closing_loc: (17,18)-(17,21) = "end" ├── @ CallNode (location: (19,0)-(19,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -589,13 +606,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (19,3)-(19,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (19,4)-(19,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (19,4)-(19,8)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -628,13 +647,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (19,15)-(19,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (19,15)-(19,17) = "do" │ └── closing_loc: (19,18)-(19,21) = "end" ├── @ CallNode (location: (21,0)-(21,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -655,13 +675,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (21,3)-(21,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (21,4)-(21,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (21,4)-(21,8)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -686,7 +708,7 @@ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{" │ │ │ └── closing_loc: (21,8)-(21,9) = "}" │ │ └── @ RegularExpressionNode (location: (21,11)-(21,14)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (21,11)-(21,12) = "/" │ │ ├── content_loc: (21,12)-(21,13) = "x" │ │ ├── closing_loc: (21,13)-(21,14) = "/" @@ -694,13 +716,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (21,15)-(21,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (21,15)-(21,17) = "do" │ └── closing_loc: (21,18)-(21,21) = "end" └── @ CallNode (location: (23,0)-(23,22)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -721,13 +744,15 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (23,3)-(23,9)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (23,4)-(23,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (23,4)-(23,8)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -752,7 +777,7 @@ │ │ ├── opening_loc: (23,3)-(23,4) = "{" │ │ └── closing_loc: (23,8)-(23,9) = "}" │ └── @ RegularExpressionNode (location: (23,11)-(23,15)) - │ ├── flags: multi_line, forced_us_ascii_encoding + │ ├── flags: static_literal, multi_line, forced_us_ascii_encoding │ ├── opening_loc: (23,11)-(23,12) = "/" │ ├── content_loc: (23,12)-(23,13) = "x" │ ├── closing_loc: (23,13)-(23,15) = "/m" @@ -760,6 +785,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (23,16)-(23,22)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt b/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt index 831d57e30d..6897357de8 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11873_a.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(39,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(39,20)) + ├── flags: ∅ └── body: (length: 20) ├── @ CallNode (location: (1,0)-(1,18)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -51,18 +53,19 @@ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" │ │ │ └── block: ∅ │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,12)-(1,18)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,12)-(1,14) = "do" │ └── closing_loc: (1,15)-(1,18) = "end" ├── @ CallNode (location: (3,0)-(3,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -109,17 +112,19 @@ │ │ │ ├── closing_loc: (3,7)-(3,8) = ")" │ │ │ └── block: ∅ │ │ └── @ FloatNode (location: (3,10)-(3,13)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,14)-(3,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (3,14)-(3,16) = "do" │ └── closing_loc: (3,17)-(3,20) = "end" ├── @ CallNode (location: (5,0)-(5,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -166,19 +171,22 @@ │ │ │ ├── closing_loc: (5,7)-(5,8) = ")" │ │ │ └── block: ∅ │ │ └── @ ImaginaryNode (location: (5,10)-(5,14)) + │ │ ├── flags: static_literal │ │ └── numeric: │ │ @ FloatNode (location: (5,10)-(5,13)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,15)-(5,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (5,15)-(5,17) = "do" │ └── closing_loc: (5,18)-(5,21) = "end" ├── @ CallNode (location: (7,0)-(7,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -225,19 +233,20 @@ │ │ │ ├── closing_loc: (7,7)-(7,8) = ")" │ │ │ └── block: ∅ │ │ └── @ RationalNode (location: (7,10)-(7,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ ├── numerator: 1 │ │ └── denominator: 1 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (7,15)-(7,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (7,15)-(7,17) = "do" │ └── closing_loc: (7,18)-(7,21) = "end" ├── @ CallNode (location: (9,0)-(9,19)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -284,7 +293,7 @@ │ │ │ ├── closing_loc: (9,7)-(9,8) = ")" │ │ │ └── block: ∅ │ │ └── @ SymbolNode (location: (9,10)-(9,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (9,10)-(9,11) = ":" │ │ ├── value_loc: (9,11)-(9,12) = "e" │ │ ├── closing_loc: ∅ @@ -292,13 +301,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (9,13)-(9,19)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (9,13)-(9,15) = "do" │ └── closing_loc: (9,16)-(9,19) = "end" ├── @ CallNode (location: (11,0)-(11,19)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -345,18 +355,19 @@ │ │ │ ├── closing_loc: (11,8)-(11,9) = ")" │ │ │ └── block: ∅ │ │ └── @ IntegerNode (location: (11,11)-(11,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (11,13)-(11,19)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (11,13)-(11,15) = "do" │ └── closing_loc: (11,16)-(11,19) = "end" ├── @ CallNode (location: (13,0)-(13,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -403,17 +414,19 @@ │ │ │ ├── closing_loc: (13,8)-(13,9) = ")" │ │ │ └── block: ∅ │ │ └── @ FloatNode (location: (13,11)-(13,14)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (13,15)-(13,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (13,15)-(13,17) = "do" │ └── closing_loc: (13,18)-(13,21) = "end" ├── @ CallNode (location: (15,0)-(15,22)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -460,19 +473,22 @@ │ │ │ ├── closing_loc: (15,8)-(15,9) = ")" │ │ │ └── block: ∅ │ │ └── @ ImaginaryNode (location: (15,11)-(15,15)) + │ │ ├── flags: static_literal │ │ └── numeric: │ │ @ FloatNode (location: (15,11)-(15,14)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (15,16)-(15,22)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (15,16)-(15,18) = "do" │ └── closing_loc: (15,19)-(15,22) = "end" ├── @ CallNode (location: (17,0)-(17,22)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -519,19 +535,20 @@ │ │ │ ├── closing_loc: (17,8)-(17,9) = ")" │ │ │ └── block: ∅ │ │ └── @ RationalNode (location: (17,11)-(17,15)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ ├── numerator: 1 │ │ └── denominator: 1 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (17,16)-(17,22)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (17,16)-(17,18) = "do" │ └── closing_loc: (17,19)-(17,22) = "end" ├── @ CallNode (location: (19,0)-(19,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -578,7 +595,7 @@ │ │ │ ├── closing_loc: (19,8)-(19,9) = ")" │ │ │ └── block: ∅ │ │ └── @ SymbolNode (location: (19,11)-(19,13)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (19,11)-(19,12) = ":" │ │ ├── value_loc: (19,12)-(19,13) = "e" │ │ ├── closing_loc: ∅ @@ -586,13 +603,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (19,14)-(19,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (19,14)-(19,16) = "do" │ └── closing_loc: (19,17)-(19,20) = "end" ├── @ CallNode (location: (21,0)-(21,18)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -613,13 +631,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (21,3)-(21,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (21,4)-(21,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (21,4)-(21,7)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -644,18 +664,19 @@ │ │ │ ├── opening_loc: (21,3)-(21,4) = "{" │ │ │ └── closing_loc: (21,7)-(21,8) = "}" │ │ └── @ IntegerNode (location: (21,10)-(21,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (21,12)-(21,18)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (21,12)-(21,14) = "do" │ └── closing_loc: (21,15)-(21,18) = "end" ├── @ CallNode (location: (23,0)-(23,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -676,13 +697,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (23,3)-(23,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (23,4)-(23,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (23,4)-(23,7)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -707,17 +730,19 @@ │ │ │ ├── opening_loc: (23,3)-(23,4) = "{" │ │ │ └── closing_loc: (23,7)-(23,8) = "}" │ │ └── @ FloatNode (location: (23,10)-(23,13)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (23,14)-(23,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (23,14)-(23,16) = "do" │ └── closing_loc: (23,17)-(23,20) = "end" ├── @ CallNode (location: (25,0)-(25,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -738,13 +763,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (25,3)-(25,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (25,4)-(25,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (25,4)-(25,7)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -769,19 +796,22 @@ │ │ │ ├── opening_loc: (25,3)-(25,4) = "{" │ │ │ └── closing_loc: (25,7)-(25,8) = "}" │ │ └── @ ImaginaryNode (location: (25,10)-(25,14)) + │ │ ├── flags: static_literal │ │ └── numeric: │ │ @ FloatNode (location: (25,10)-(25,13)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (25,15)-(25,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (25,15)-(25,17) = "do" │ └── closing_loc: (25,18)-(25,21) = "end" ├── @ CallNode (location: (27,0)-(27,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -802,13 +832,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (27,3)-(27,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (27,4)-(27,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (27,4)-(27,7)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -833,19 +865,20 @@ │ │ │ ├── opening_loc: (27,3)-(27,4) = "{" │ │ │ └── closing_loc: (27,7)-(27,8) = "}" │ │ └── @ RationalNode (location: (27,10)-(27,14)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ ├── numerator: 1 │ │ └── denominator: 1 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (27,15)-(27,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (27,15)-(27,17) = "do" │ └── closing_loc: (27,18)-(27,21) = "end" ├── @ CallNode (location: (29,0)-(29,19)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -866,13 +899,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (29,3)-(29,8)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (29,4)-(29,7)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (29,4)-(29,7)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -897,7 +932,7 @@ │ │ │ ├── opening_loc: (29,3)-(29,4) = "{" │ │ │ └── closing_loc: (29,7)-(29,8) = "}" │ │ └── @ SymbolNode (location: (29,10)-(29,12)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (29,10)-(29,11) = ":" │ │ ├── value_loc: (29,11)-(29,12) = "e" │ │ ├── closing_loc: ∅ @@ -905,13 +940,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (29,13)-(29,19)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (29,13)-(29,15) = "do" │ └── closing_loc: (29,16)-(29,19) = "end" ├── @ CallNode (location: (31,0)-(31,19)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -932,13 +968,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (31,3)-(31,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (31,4)-(31,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (31,4)-(31,8)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -963,18 +1001,19 @@ │ │ │ ├── opening_loc: (31,3)-(31,4) = "{" │ │ │ └── closing_loc: (31,8)-(31,9) = "}" │ │ └── @ IntegerNode (location: (31,11)-(31,12)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (31,13)-(31,19)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (31,13)-(31,15) = "do" │ └── closing_loc: (31,16)-(31,19) = "end" ├── @ CallNode (location: (33,0)-(33,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -995,13 +1034,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (33,3)-(33,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (33,4)-(33,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (33,4)-(33,8)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -1026,17 +1067,19 @@ │ │ │ ├── opening_loc: (33,3)-(33,4) = "{" │ │ │ └── closing_loc: (33,8)-(33,9) = "}" │ │ └── @ FloatNode (location: (33,11)-(33,14)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (33,15)-(33,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (33,15)-(33,17) = "do" │ └── closing_loc: (33,18)-(33,21) = "end" ├── @ CallNode (location: (35,0)-(35,22)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -1057,13 +1100,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (35,3)-(35,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (35,4)-(35,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (35,4)-(35,8)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -1088,19 +1133,22 @@ │ │ │ ├── opening_loc: (35,3)-(35,4) = "{" │ │ │ └── closing_loc: (35,8)-(35,9) = "}" │ │ └── @ ImaginaryNode (location: (35,11)-(35,15)) + │ │ ├── flags: static_literal │ │ └── numeric: │ │ @ FloatNode (location: (35,11)-(35,14)) + │ │ ├── flags: static_literal │ │ └── value: 1.0 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (35,16)-(35,22)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (35,16)-(35,18) = "do" │ └── closing_loc: (35,19)-(35,22) = "end" ├── @ CallNode (location: (37,0)-(37,22)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -1121,13 +1169,15 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: │ │ │ @ BlockNode (location: (37,3)-(37,9)) + │ │ │ ├── flags: ∅ │ │ │ ├── locals: [] │ │ │ ├── parameters: ∅ │ │ │ ├── body: │ │ │ │ @ StatementsNode (location: (37,4)-(37,8)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (37,4)-(37,8)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :c @@ -1152,19 +1202,20 @@ │ │ │ ├── opening_loc: (37,3)-(37,4) = "{" │ │ │ └── closing_loc: (37,8)-(37,9) = "}" │ │ └── @ RationalNode (location: (37,11)-(37,15)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ ├── numerator: 1 │ │ └── denominator: 1 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (37,16)-(37,22)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (37,16)-(37,18) = "do" │ └── closing_loc: (37,19)-(37,22) = "end" └── @ CallNode (location: (39,0)-(39,20)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :a @@ -1185,13 +1236,15 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (39,3)-(39,9)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (39,4)-(39,8)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (39,4)-(39,8)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :c @@ -1216,7 +1269,7 @@ │ │ ├── opening_loc: (39,3)-(39,4) = "{" │ │ └── closing_loc: (39,8)-(39,9) = "}" │ └── @ SymbolNode (location: (39,11)-(39,13)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: static_literal, forced_us_ascii_encoding │ ├── opening_loc: (39,11)-(39,12) = ":" │ ├── value_loc: (39,12)-(39,13) = "e" │ ├── closing_loc: ∅ @@ -1224,6 +1277,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (39,14)-(39,20)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt b/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt index 6aa8e55e54..263f4f8dd3 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11873_b.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,25)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,25)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,25)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -25,13 +27,15 @@ │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (1,3)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,4)-(1,12)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 2) │ │ │ ├── @ CallNode (location: (1,4)-(1,8)) - │ │ │ │ ├── flags: ignore_visibility + │ │ │ │ ├── flags: newline, ignore_visibility │ │ │ │ ├── receiver: ∅ │ │ │ │ ├── call_operator_loc: ∅ │ │ │ │ ├── name: :p @@ -54,7 +58,7 @@ │ │ │ │ ├── closing_loc: (1,7)-(1,8) = ")" │ │ │ │ └── block: ∅ │ │ │ └── @ CallNode (location: (1,9)-(1,12)) - │ │ │ ├── flags: ignore_visibility + │ │ │ ├── flags: newline, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :p @@ -91,6 +95,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,19)-(1,25)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_11989.txt b/test/prism/snapshots/whitequark/ruby_bug_11989.txt index fe17087e53..96bafab7e9 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11989.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11989.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p diff --git a/test/prism/snapshots/whitequark/ruby_bug_11990.txt b/test/prism/snapshots/whitequark/ruby_bug_11990.txt index 0a5fba1482..095381d130 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11990.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11990.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :p @@ -15,17 +17,17 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ InterpolatedStringNode (location: (1,2)-(1,12)) - │ ├── flags: ∅ + │ ├── flags: static_literal │ ├── opening_loc: ∅ │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (1,2)-(1,6)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (1,2)-(1,6) = "<<~E" │ │ │ ├── content_loc: (2,0)-(3,0) = " x\n" │ │ │ ├── closing_loc: (3,0)-(4,0) = "E\n" │ │ │ └── unescaped: "x\n" │ │ └── @ StringNode (location: (1,7)-(1,12)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (1,7)-(1,8) = "\"" │ │ ├── content_loc: (1,8)-(1,11) = " y" │ │ ├── closing_loc: (1,11)-(1,12) = "\"" diff --git a/test/prism/snapshots/whitequark/ruby_bug_12073.txt b/test/prism/snapshots/whitequark/ruby_bug_12073.txt index 2b4d3eab2a..0b20229de9 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12073.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12073.txt @@ -1,19 +1,22 @@ @ ProgramNode (location: (1,0)-(3,34)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(3,34)) + ├── flags: ∅ └── body: (length: 3) ├── @ LocalVariableWriteNode (location: (1,0)-(1,5)) + │ ├── flags: newline │ ├── name: :a │ ├── depth: 0 │ ├── name_loc: (1,0)-(1,1) = "a" │ ├── value: │ │ @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (1,2)-(1,3) = "=" ├── @ CallNode (location: (1,7)-(1,13)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :a @@ -27,26 +30,29 @@ │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,9)-(1,13)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (1,9)-(1,11)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (1,9)-(1,10) = "b" │ │ │ ├── closing_loc: (1,10)-(1,11) = ":" │ │ │ └── unescaped: "b" │ │ ├── value: │ │ │ @ IntegerNode (location: (1,12)-(1,13)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: ∅ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ DefNode (location: (3,0)-(3,34)) + ├── flags: newline ├── name: :foo ├── name_loc: (3,4)-(3,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (3,8)-(3,13)) + │ ├── flags: ∅ │ ├── requireds: (length: 1) │ │ └── @ RequiredParameterNode (location: (3,8)-(3,13)) │ │ ├── flags: ∅ @@ -59,9 +65,10 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (3,15)-(3,29)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (3,15)-(3,29)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :raise @@ -72,8 +79,10 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 2) │ │ ├── @ ConstantPathNode (location: (3,21)-(3,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── parent: │ │ │ │ @ ConstantReadNode (location: (3,21)-(3,22)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── name: :A │ │ │ ├── name: :B │ │ │ ├── delimiter_loc: (3,22)-(3,24) = "::" diff --git a/test/prism/snapshots/whitequark/ruby_bug_12402.txt b/test/prism/snapshots/whitequark/ruby_bug_12402.txt index 4935007f8a..6f915342c0 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12402.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12402.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(27,31)) +├── flags: ∅ ├── locals: [:foo] └── statements: @ StatementsNode (location: (1,0)-(27,31)) + ├── flags: ∅ └── body: (length: 14) ├── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,27)) + │ ├── flags: newline │ ├── name_loc: (1,0)-(1,3) = "foo" │ ├── binary_operator_loc: (1,4)-(1,6) = "+=" │ ├── value: │ │ @ RescueModifierNode (location: (1,7)-(1,27)) + │ │ ├── flags: ∅ │ │ ├── expression: │ │ │ @ CallNode (location: (1,7)-(1,16)) │ │ │ ├── flags: ignore_visibility @@ -35,14 +39,17 @@ │ │ ├── keyword_loc: (1,17)-(1,23) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (1,24)-(1,27)) + │ │ └── flags: static_literal │ ├── name: :foo │ ├── binary_operator: :+ │ └── depth: 0 ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,28)) + │ ├── flags: newline │ ├── name_loc: (3,0)-(3,3) = "foo" │ ├── binary_operator_loc: (3,4)-(3,6) = "+=" │ ├── value: │ │ @ RescueModifierNode (location: (3,7)-(3,28)) + │ │ ├── flags: ∅ │ │ ├── expression: │ │ │ @ CallNode (location: (3,7)-(3,17)) │ │ │ ├── flags: ignore_visibility @@ -70,15 +77,18 @@ │ │ ├── keyword_loc: (3,18)-(3,24) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (3,25)-(3,28)) + │ │ └── flags: static_literal │ ├── name: :foo │ ├── binary_operator: :+ │ └── depth: 0 ├── @ LocalVariableWriteNode (location: (5,0)-(5,26)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (5,0)-(5,3) = "foo" │ ├── value: │ │ @ RescueModifierNode (location: (5,6)-(5,26)) + │ │ ├── flags: ∅ │ │ ├── expression: │ │ │ @ CallNode (location: (5,6)-(5,15)) │ │ │ ├── flags: ignore_visibility @@ -106,13 +116,16 @@ │ │ ├── keyword_loc: (5,16)-(5,22) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (5,23)-(5,26)) + │ │ └── flags: static_literal │ └── operator_loc: (5,4)-(5,5) = "=" ├── @ LocalVariableWriteNode (location: (7,0)-(7,27)) + │ ├── flags: newline │ ├── name: :foo │ ├── depth: 0 │ ├── name_loc: (7,0)-(7,3) = "foo" │ ├── value: │ │ @ RescueModifierNode (location: (7,6)-(7,27)) + │ │ ├── flags: ∅ │ │ ├── expression: │ │ │ @ CallNode (location: (7,6)-(7,16)) │ │ │ ├── flags: ignore_visibility @@ -140,11 +153,13 @@ │ │ ├── keyword_loc: (7,17)-(7,23) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (7,24)-(7,27)) + │ │ └── flags: static_literal │ └── operator_loc: (7,4)-(7,5) = "=" ├── @ CallOperatorWriteNode (location: (9,0)-(9,29)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (9,0)-(9,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (9,3)-(9,4) = "." @@ -155,6 +170,7 @@ │ ├── binary_operator_loc: (9,6)-(9,8) = "+=" │ └── value: │ @ RescueModifierNode (location: (9,9)-(9,29)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (9,9)-(9,18)) │ │ ├── flags: ignore_visibility @@ -182,10 +198,12 @@ │ ├── keyword_loc: (9,19)-(9,25) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (9,26)-(9,29)) + │ └── flags: static_literal ├── @ CallOperatorWriteNode (location: (11,0)-(11,30)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (11,0)-(11,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (11,3)-(11,4) = "." @@ -196,6 +214,7 @@ │ ├── binary_operator_loc: (11,6)-(11,8) = "+=" │ └── value: │ @ RescueModifierNode (location: (11,9)-(11,30)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (11,9)-(11,19)) │ │ ├── flags: ignore_visibility @@ -223,10 +242,12 @@ │ ├── keyword_loc: (11,20)-(11,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (11,27)-(11,30)) + │ └── flags: static_literal ├── @ CallOperatorWriteNode (location: (13,0)-(13,29)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (13,0)-(13,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (13,3)-(13,4) = "." @@ -237,6 +258,7 @@ │ ├── binary_operator_loc: (13,6)-(13,8) = "+=" │ └── value: │ @ RescueModifierNode (location: (13,9)-(13,29)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (13,9)-(13,18)) │ │ ├── flags: ignore_visibility @@ -264,10 +286,12 @@ │ ├── keyword_loc: (13,19)-(13,25) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (13,26)-(13,29)) + │ └── flags: static_literal ├── @ CallOperatorWriteNode (location: (15,0)-(15,30)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (15,0)-(15,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (15,3)-(15,4) = "." @@ -278,6 +302,7 @@ │ ├── binary_operator_loc: (15,6)-(15,8) = "+=" │ └── value: │ @ RescueModifierNode (location: (15,9)-(15,30)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (15,9)-(15,19)) │ │ ├── flags: ignore_visibility @@ -305,11 +330,15 @@ │ ├── keyword_loc: (15,20)-(15,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (15,27)-(15,30)) + │ └── flags: static_literal ├── @ ConstantPathOrWriteNode (location: (17,0)-(17,31)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (17,0)-(17,6)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ LocalVariableReadNode (location: (17,0)-(17,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ ├── name: :C @@ -318,6 +347,7 @@ │ ├── operator_loc: (17,7)-(17,10) = "||=" │ └── value: │ @ RescueModifierNode (location: (17,11)-(17,31)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (17,11)-(17,20)) │ │ ├── flags: ignore_visibility @@ -345,11 +375,15 @@ │ ├── keyword_loc: (17,21)-(17,27) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (17,28)-(17,31)) + │ └── flags: static_literal ├── @ ConstantPathOrWriteNode (location: (19,0)-(19,32)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (19,0)-(19,6)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ LocalVariableReadNode (location: (19,0)-(19,3)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :foo │ │ │ └── depth: 0 │ │ ├── name: :C @@ -358,6 +392,7 @@ │ ├── operator_loc: (19,7)-(19,10) = "||=" │ └── value: │ @ RescueModifierNode (location: (19,11)-(19,32)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (19,11)-(19,21)) │ │ ├── flags: ignore_visibility @@ -385,10 +420,12 @@ │ ├── keyword_loc: (19,22)-(19,28) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (19,29)-(19,32)) + │ └── flags: static_literal ├── @ CallOperatorWriteNode (location: (21,0)-(21,30)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (21,0)-(21,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (21,3)-(21,5) = "::" @@ -399,6 +436,7 @@ │ ├── binary_operator_loc: (21,7)-(21,9) = "+=" │ └── value: │ @ RescueModifierNode (location: (21,10)-(21,30)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (21,10)-(21,19)) │ │ ├── flags: ignore_visibility @@ -426,10 +464,12 @@ │ ├── keyword_loc: (21,20)-(21,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (21,27)-(21,30)) + │ └── flags: static_literal ├── @ CallOperatorWriteNode (location: (23,0)-(23,31)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (23,0)-(23,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: (23,3)-(23,5) = "::" @@ -440,6 +480,7 @@ │ ├── binary_operator_loc: (23,7)-(23,9) = "+=" │ └── value: │ @ RescueModifierNode (location: (23,10)-(23,31)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (23,10)-(23,20)) │ │ ├── flags: ignore_visibility @@ -467,10 +508,12 @@ │ ├── keyword_loc: (23,21)-(23,27) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (23,28)-(23,31)) + │ └── flags: static_literal ├── @ IndexOperatorWriteNode (location: (25,0)-(25,30)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ LocalVariableReadNode (location: (25,0)-(25,3)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── call_operator_loc: ∅ @@ -480,7 +523,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (25,4)-(25,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 0 │ ├── closing_loc: (25,5)-(25,6) = "]" │ ├── block: ∅ @@ -488,6 +531,7 @@ │ ├── binary_operator_loc: (25,7)-(25,9) = "+=" │ └── value: │ @ RescueModifierNode (location: (25,10)-(25,30)) + │ ├── flags: ∅ │ ├── expression: │ │ @ CallNode (location: (25,10)-(25,19)) │ │ ├── flags: ignore_visibility @@ -515,10 +559,12 @@ │ ├── keyword_loc: (25,20)-(25,26) = "rescue" │ └── rescue_expression: │ @ NilNode (location: (25,27)-(25,30)) + │ └── flags: static_literal └── @ IndexOperatorWriteNode (location: (27,0)-(27,31)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ LocalVariableReadNode (location: (27,0)-(27,3)) + │ ├── flags: ∅ │ ├── name: :foo │ └── depth: 0 ├── call_operator_loc: ∅ @@ -528,7 +574,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (27,4)-(27,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 0 ├── closing_loc: (27,5)-(27,6) = "]" ├── block: ∅ @@ -536,6 +582,7 @@ ├── binary_operator_loc: (27,7)-(27,9) = "+=" └── value: @ RescueModifierNode (location: (27,10)-(27,31)) + ├── flags: ∅ ├── expression: │ @ CallNode (location: (27,10)-(27,20)) │ ├── flags: ignore_visibility @@ -563,3 +610,4 @@ ├── keyword_loc: (27,21)-(27,27) = "rescue" └── rescue_expression: @ NilNode (location: (27,28)-(27,31)) + └── flags: static_literal diff --git a/test/prism/snapshots/whitequark/ruby_bug_12669.txt b/test/prism/snapshots/whitequark/ruby_bug_12669.txt index 6151143ba8..9d1a924b79 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12669.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12669.txt @@ -1,13 +1,17 @@ @ ProgramNode (location: (1,0)-(7,16)) +├── flags: ∅ ├── locals: [:a, :b] └── statements: @ StatementsNode (location: (1,0)-(7,16)) + ├── flags: ∅ └── body: (length: 4) ├── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,18)) + │ ├── flags: newline │ ├── name_loc: (1,0)-(1,1) = "a" │ ├── binary_operator_loc: (1,2)-(1,4) = "+=" │ ├── value: │ │ @ LocalVariableOperatorWriteNode (location: (1,5)-(1,18)) + │ │ ├── flags: ∅ │ │ ├── name_loc: (1,5)-(1,6) = "b" │ │ ├── binary_operator_loc: (1,7)-(1,9) = "+=" │ │ ├── value: @@ -23,7 +27,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ SymbolNode (location: (1,16)-(1,18)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (1,16)-(1,17) = ":" │ │ │ │ ├── value_loc: (1,17)-(1,18) = "x" │ │ │ │ ├── closing_loc: ∅ @@ -37,10 +41,12 @@ │ ├── binary_operator: :+ │ └── depth: 0 ├── @ LocalVariableOperatorWriteNode (location: (3,0)-(3,17)) + │ ├── flags: newline │ ├── name_loc: (3,0)-(3,1) = "a" │ ├── binary_operator_loc: (3,2)-(3,4) = "+=" │ ├── value: │ │ @ LocalVariableWriteNode (location: (3,5)-(3,17)) + │ │ ├── flags: ∅ │ │ ├── name: :b │ │ ├── depth: 0 │ │ ├── name_loc: (3,5)-(3,6) = "b" @@ -57,7 +63,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ SymbolNode (location: (3,15)-(3,17)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (3,15)-(3,16) = ":" │ │ │ │ ├── value_loc: (3,16)-(3,17) = "x" │ │ │ │ ├── closing_loc: ∅ @@ -69,11 +75,13 @@ │ ├── binary_operator: :+ │ └── depth: 0 ├── @ LocalVariableWriteNode (location: (5,0)-(5,17)) + │ ├── flags: newline │ ├── name: :a │ ├── depth: 0 │ ├── name_loc: (5,0)-(5,1) = "a" │ ├── value: │ │ @ LocalVariableOperatorWriteNode (location: (5,4)-(5,17)) + │ │ ├── flags: ∅ │ │ ├── name_loc: (5,4)-(5,5) = "b" │ │ ├── binary_operator_loc: (5,6)-(5,8) = "+=" │ │ ├── value: @@ -89,7 +97,7 @@ │ │ │ │ ├── flags: ∅ │ │ │ │ └── arguments: (length: 1) │ │ │ │ └── @ SymbolNode (location: (5,15)-(5,17)) - │ │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ │ ├── opening_loc: (5,15)-(5,16) = ":" │ │ │ │ ├── value_loc: (5,16)-(5,17) = "x" │ │ │ │ ├── closing_loc: ∅ @@ -101,11 +109,13 @@ │ │ └── depth: 0 │ └── operator_loc: (5,2)-(5,3) = "=" └── @ LocalVariableWriteNode (location: (7,0)-(7,16)) + ├── flags: newline ├── name: :a ├── depth: 0 ├── name_loc: (7,0)-(7,1) = "a" ├── value: │ @ LocalVariableWriteNode (location: (7,4)-(7,16)) + │ ├── flags: ∅ │ ├── name: :b │ ├── depth: 0 │ ├── name_loc: (7,4)-(7,5) = "b" @@ -122,7 +132,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ SymbolNode (location: (7,14)-(7,16)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: (7,14)-(7,15) = ":" │ │ │ ├── value_loc: (7,15)-(7,16) = "x" │ │ │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_12686.txt b/test/prism/snapshots/whitequark/ruby_bug_12686.txt index 427c96bbe0..515ee75674 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12686.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12686.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,16)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,16)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,16)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :f @@ -15,10 +17,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,2)-(1,16)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,3)-(1,15)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ RescueModifierNode (location: (1,3)-(1,15)) + │ │ ├── flags: newline │ │ ├── expression: │ │ │ @ CallNode (location: (1,3)-(1,4)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -33,6 +38,7 @@ │ │ ├── keyword_loc: (1,5)-(1,11) = "rescue" │ │ └── rescue_expression: │ │ @ NilNode (location: (1,12)-(1,15)) + │ │ └── flags: static_literal │ ├── opening_loc: (1,2)-(1,3) = "(" │ └── closing_loc: (1,15)-(1,16) = ")" ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_13547.txt b/test/prism/snapshots/whitequark/ruby_bug_13547.txt index eae9587ea0..d0ac79d7ff 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_13547.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_13547.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,4)) │ ├── flags: variable_call, ignore_visibility @@ -24,6 +26,7 @@ ├── closing_loc: (1,5)-(1,6) = "]" └── block: @ BlockNode (location: (1,7)-(1,9)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_14690.txt b/test/prism/snapshots/whitequark/ruby_bug_14690.txt index 36629797db..377c0e0a0e 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_14690.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_14690.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,23)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,23)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :let @@ -15,19 +17,22 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,4)-(1,6)) + │ ├── flags: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,4)-(1,5) = "(" │ └── closing_loc: (1,5)-(1,6) = ")" ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,7)-(1,23)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (1,9)-(1,21)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,9)-(1,21)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -50,6 +55,7 @@ │ ├── closing_loc: (1,12)-(1,13) = ")" │ └── block: │ @ BlockNode (location: (1,14)-(1,21)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_15789.txt b/test/prism/snapshots/whitequark/ruby_bug_15789.txt index db8bc1401f..c6ac7447a8 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_15789.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_15789.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,19)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,20)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :m @@ -15,14 +17,17 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LambdaNode (location: (1,2)-(1,20)) + │ │ ├── flags: ∅ │ │ ├── locals: [:a] │ │ ├── operator_loc: (1,2)-(1,4) = "->" │ │ ├── opening_loc: (1,17)-(1,18) = "{" │ │ ├── closing_loc: (1,19)-(1,20) = "}" │ │ ├── parameters: │ │ │ @ BlockParametersNode (location: (1,4)-(1,16)) + │ │ │ ├── flags: ∅ │ │ │ ├── parameters: │ │ │ │ @ ParametersNode (location: (1,5)-(1,15)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── requireds: (length: 0) │ │ │ │ ├── optionals: (length: 1) │ │ │ │ │ └── @ OptionalParameterNode (location: (1,5)-(1,15)) @@ -32,17 +37,21 @@ │ │ │ │ │ ├── operator_loc: (1,7)-(1,8) = "=" │ │ │ │ │ └── value: │ │ │ │ │ @ LambdaNode (location: (1,9)-(1,15)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ ├── locals: [:_1] │ │ │ │ │ ├── operator_loc: (1,9)-(1,11) = "->" │ │ │ │ │ ├── opening_loc: (1,11)-(1,12) = "{" │ │ │ │ │ ├── closing_loc: (1,14)-(1,15) = "}" │ │ │ │ │ ├── parameters: │ │ │ │ │ │ @ NumberedParametersNode (location: (1,9)-(1,15)) + │ │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ │ └── maximum: 1 │ │ │ │ │ └── body: │ │ │ │ │ @ StatementsNode (location: (1,12)-(1,14)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── body: (length: 1) │ │ │ │ │ └── @ LocalVariableReadNode (location: (1,12)-(1,14)) + │ │ │ │ │ ├── flags: newline │ │ │ │ │ ├── name: :_1 │ │ │ │ │ └── depth: 0 │ │ │ │ ├── rest: ∅ @@ -55,14 +64,16 @@ │ │ │ └── closing_loc: (1,15)-(1,16) = ")" │ │ └── body: │ │ @ StatementsNode (location: (1,18)-(1,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ LocalVariableReadNode (location: (1,18)-(1,19)) + │ │ ├── flags: newline │ │ ├── name: :a │ │ └── depth: 0 │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,19)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :m @@ -73,14 +84,17 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ LambdaNode (location: (3,2)-(3,19)) + │ ├── flags: ∅ │ ├── locals: [:a] │ ├── operator_loc: (3,2)-(3,4) = "->" │ ├── opening_loc: (3,16)-(3,17) = "{" │ ├── closing_loc: (3,18)-(3,19) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (3,4)-(3,15)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (3,5)-(3,14)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -92,17 +106,21 @@ │ │ │ │ ├── name_loc: (3,5)-(3,7) = "a:" │ │ │ │ └── value: │ │ │ │ @ LambdaNode (location: (3,8)-(3,14)) + │ │ │ │ ├── flags: ∅ │ │ │ │ ├── locals: [:_1] │ │ │ │ ├── operator_loc: (3,8)-(3,10) = "->" │ │ │ │ ├── opening_loc: (3,10)-(3,11) = "{" │ │ │ │ ├── closing_loc: (3,13)-(3,14) = "}" │ │ │ │ ├── parameters: │ │ │ │ │ @ NumberedParametersNode (location: (3,8)-(3,14)) + │ │ │ │ │ ├── flags: ∅ │ │ │ │ │ └── maximum: 1 │ │ │ │ └── body: │ │ │ │ @ StatementsNode (location: (3,11)-(3,13)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ LocalVariableReadNode (location: (3,11)-(3,13)) + │ │ │ │ ├── flags: newline │ │ │ │ ├── name: :_1 │ │ │ │ └── depth: 0 │ │ │ ├── keyword_rest: ∅ @@ -112,8 +130,10 @@ │ │ └── closing_loc: (3,14)-(3,15) = ")" │ └── body: │ @ StatementsNode (location: (3,17)-(3,18)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (3,17)-(3,18)) + │ ├── flags: newline │ ├── name: :a │ └── depth: 0 ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/ruby_bug_9669.txt b/test/prism/snapshots/whitequark/ruby_bug_9669.txt index 910b08c3ef..3d2e305657 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_9669.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_9669.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(8,1)) +├── flags: ∅ ├── locals: [:o] └── statements: @ StatementsNode (location: (1,0)-(8,1)) + ├── flags: ∅ └── body: (length: 2) ├── @ DefNode (location: (1,0)-(3,3)) + │ ├── flags: newline │ ├── name: :a │ ├── name_loc: (1,4)-(1,5) = "a" │ ├── receiver: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,6)-(1,8)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ @@ -22,9 +26,10 @@ │ │ └── block: ∅ │ ├── body: │ │ @ StatementsNode (location: (2,0)-(2,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ReturnNode (location: (2,0)-(2,6)) - │ │ ├── flags: redundant + │ │ ├── flags: newline, redundant │ │ ├── keyword_loc: (2,0)-(2,6) = "return" │ │ └── arguments: ∅ │ ├── locals: [:b] @@ -35,24 +40,27 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,0)-(3,3) = "end" └── @ LocalVariableWriteNode (location: (5,0)-(8,1)) + ├── flags: newline ├── name: :o ├── depth: 0 ├── name_loc: (5,0)-(5,1) = "o" ├── value: │ @ HashNode (location: (5,4)-(8,1)) + │ ├── flags: static_literal │ ├── opening_loc: (5,4)-(5,5) = "{" │ ├── elements: (length: 1) │ │ └── @ AssocNode (location: (6,0)-(7,1)) + │ │ ├── flags: static_literal │ │ ├── key: │ │ │ @ SymbolNode (location: (6,0)-(6,2)) - │ │ │ ├── flags: forced_us_ascii_encoding + │ │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ │ ├── opening_loc: ∅ │ │ │ ├── value_loc: (6,0)-(6,1) = "a" │ │ │ ├── closing_loc: (6,1)-(6,2) = ":" │ │ │ └── unescaped: "a" │ │ ├── value: │ │ │ @ IntegerNode (location: (7,0)-(7,1)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── operator_loc: ∅ │ └── closing_loc: (8,0)-(8,1) = "}" diff --git a/test/prism/snapshots/whitequark/sclass.txt b/test/prism/snapshots/whitequark/sclass.txt index 53188a7b8a..346d1a4149 100644 --- a/test/prism/snapshots/whitequark/sclass.txt +++ b/test/prism/snapshots/whitequark/sclass.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,22)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,22)) + ├── flags: ∅ └── body: (length: 1) └── @ SingletonClassNode (location: (1,0)-(1,22)) + ├── flags: newline ├── locals: [] ├── class_keyword_loc: (1,0)-(1,5) = "class" ├── operator_loc: (1,6)-(1,8) = "<<" @@ -20,6 +23,8 @@ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,14)-(1,17)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ NilNode (location: (1,14)-(1,17)) + │ └── flags: newline, static_literal └── end_keyword_loc: (1,19)-(1,22) = "end" diff --git a/test/prism/snapshots/whitequark/self.txt b/test/prism/snapshots/whitequark/self.txt index c69f8fa8c5..e3a1a9f7df 100644 --- a/test/prism/snapshots/whitequark/self.txt +++ b/test/prism/snapshots/whitequark/self.txt @@ -1,6 +1,9 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ SelfNode (location: (1,0)-(1,4)) + └── flags: newline diff --git a/test/prism/snapshots/whitequark/send_attr_asgn.txt b/test/prism/snapshots/whitequark/send_attr_asgn.txt index 1d09daa4a6..faeb5a7c7c 100644 --- a/test/prism/snapshots/whitequark/send_attr_asgn.txt +++ b/test/prism/snapshots/whitequark/send_attr_asgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(7,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,10)) + ├── flags: ∅ └── body: (length: 4) ├── @ CallNode (location: (1,0)-(1,9)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -25,12 +27,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,8)-(1,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,9)) - │ ├── flags: attribute_write + │ ├── flags: newline, attribute_write │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -51,13 +53,15 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (3,8)-(3,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ ConstantPathWriteNode (location: (5,0)-(5,10)) + │ ├── flags: newline │ ├── target: │ │ @ ConstantPathNode (location: (5,0)-(5,6)) + │ │ ├── flags: ∅ │ │ ├── parent: │ │ │ @ CallNode (location: (5,0)-(5,3)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -75,10 +79,10 @@ │ ├── operator_loc: (5,7)-(5,8) = "=" │ └── value: │ @ IntegerNode (location: (5,9)-(5,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 └── @ CallNode (location: (7,0)-(7,10)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ CallNode (location: (7,0)-(7,3)) │ ├── flags: variable_call, ignore_visibility @@ -99,7 +103,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (7,9)-(7,10)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt b/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt index 3cec95ae7c..cb849e3f05 100644 --- a/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt +++ b/test/prism/snapshots/whitequark/send_attr_asgn_conditional.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,8)) - ├── flags: safe_navigation, attribute_write + ├── flags: newline, safe_navigation, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -25,7 +27,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_binary_op.txt b/test/prism/snapshots/whitequark/send_binary_op.txt index 09991c5679..a020262b1d 100644 --- a/test/prism/snapshots/whitequark/send_binary_op.txt +++ b/test/prism/snapshots/whitequark/send_binary_op.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(41,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(41,7)) + ├── flags: ∅ └── body: (length: 21) ├── @ CallNode (location: (1,0)-(1,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -25,12 +27,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -51,12 +53,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (3,7)-(3,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (5,0)-(5,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -77,12 +79,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (5,6)-(5,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (7,0)-(7,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -103,12 +105,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (7,6)-(7,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -129,12 +131,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (9,6)-(9,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (11,0)-(11,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (11,0)-(11,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -155,12 +157,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (11,7)-(11,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (13,0)-(13,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (13,0)-(13,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -181,12 +183,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (13,6)-(13,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (15,0)-(15,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (15,0)-(15,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -207,12 +209,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (15,6)-(15,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (17,0)-(17,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (17,0)-(17,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -233,12 +235,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (17,6)-(17,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (19,0)-(19,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ CallNode (location: (19,0)-(19,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -259,12 +261,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (19,6)-(19,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (21,0)-(21,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (21,0)-(21,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -285,12 +287,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (21,7)-(21,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (23,0)-(23,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ CallNode (location: (23,0)-(23,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -311,12 +313,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (23,7)-(23,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (25,0)-(25,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (25,0)-(25,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -337,12 +339,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (25,8)-(25,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (27,0)-(27,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (27,0)-(27,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -363,12 +365,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (27,7)-(27,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (29,0)-(29,9)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (29,0)-(29,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -389,12 +391,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (29,8)-(29,9)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (31,0)-(31,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (31,0)-(31,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -415,12 +417,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (31,7)-(31,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (33,0)-(33,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ CallNode (location: (33,0)-(33,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -441,12 +443,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (33,6)-(33,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (35,0)-(35,8)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: │ │ @ CallNode (location: (35,0)-(35,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -467,12 +469,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (35,7)-(35,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (37,0)-(37,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (37,0)-(37,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -493,12 +495,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (37,7)-(37,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (39,0)-(39,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (39,0)-(39,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -519,12 +521,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (39,6)-(39,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (41,0)-(41,7)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (41,0)-(41,3)) │ ├── flags: variable_call, ignore_visibility @@ -545,7 +547,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (41,6)-(41,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: ∅ └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_block_chain_cmd.txt b/test/prism/snapshots/whitequark/send_block_chain_cmd.txt index 4013888882..bce45c38ee 100644 --- a/test/prism/snapshots/whitequark/send_block_chain_cmd.txt +++ b/test/prism/snapshots/whitequark/send_block_chain_cmd.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(13,23)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(13,23)) + ├── flags: ∅ └── body: (length: 7) ├── @ CallNode (location: (1,0)-(1,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,13)) │ │ ├── flags: ignore_visibility @@ -18,11 +20,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (1,7)-(1,13)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -49,7 +52,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,28)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,13)) │ │ ├── flags: ignore_visibility @@ -63,11 +66,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (3,5)-(3,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (3,7)-(3,13)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -94,13 +98,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,22)-(3,28)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (3,22)-(3,24) = "do" │ └── closing_loc: (3,25)-(3,28) = "end" ├── @ CallNode (location: (5,0)-(5,20)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (5,0)-(5,13)) │ │ ├── flags: ignore_visibility @@ -114,11 +119,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (5,5)-(5,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (5,7)-(5,13)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -132,13 +138,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (5,18)-(5,20)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (5,18)-(5,19) = "{" │ └── closing_loc: (5,19)-(5,20) = "}" ├── @ CallNode (location: (7,0)-(7,22)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (7,0)-(7,13)) │ │ ├── flags: ignore_visibility @@ -152,11 +159,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (7,5)-(7,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (7,7)-(7,13)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -183,7 +191,7 @@ │ ├── closing_loc: (7,21)-(7,22) = ")" │ └── block: ∅ ├── @ CallNode (location: (9,0)-(9,25)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (9,0)-(9,13)) │ │ ├── flags: ignore_visibility @@ -197,11 +205,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (9,5)-(9,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (9,7)-(9,13)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -228,13 +237,14 @@ │ ├── closing_loc: (9,21)-(9,22) = ")" │ └── block: │ @ BlockNode (location: (9,23)-(9,25)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (9,23)-(9,24) = "{" │ └── closing_loc: (9,24)-(9,25) = "}" ├── @ CallNode (location: (11,0)-(11,22)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (11,0)-(11,13)) │ │ ├── flags: ignore_visibility @@ -248,11 +258,12 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (11,5)-(11,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── closing_loc: ∅ │ │ └── block: │ │ @ BlockNode (location: (11,7)-(11,13)) + │ │ ├── flags: ∅ │ │ ├── locals: [] │ │ ├── parameters: ∅ │ │ ├── body: ∅ @@ -279,7 +290,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (13,0)-(13,23)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (13,0)-(13,13)) │ ├── flags: ignore_visibility @@ -293,11 +304,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (13,5)-(13,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (13,7)-(13,13)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/send_block_conditional.txt b/test/prism/snapshots/whitequark/send_block_conditional.txt index 826d3c8464..86ef0dbf36 100644 --- a/test/prism/snapshots/whitequark/send_block_conditional.txt +++ b/test/prism/snapshots/whitequark/send_block_conditional.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -24,6 +26,7 @@ ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,9)-(1,11)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/send_call.txt b/test/prism/snapshots/whitequark/send_call.txt index 48063e0121..4ed17fbaee 100644 --- a/test/prism/snapshots/whitequark/send_call.txt +++ b/test/prism/snapshots/whitequark/send_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,8)) + ├── flags: ∅ └── body: (length: 2) ├── @ CallNode (location: (1,0)-(1,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -25,12 +27,12 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── closing_loc: (1,6)-(1,7) = ")" │ └── block: ∅ └── @ CallNode (location: (3,0)-(3,8)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (3,0)-(3,3)) │ ├── flags: variable_call, ignore_visibility @@ -51,7 +53,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (3,6)-(3,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (3,7)-(3,8) = ")" └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_conditional.txt b/test/prism/snapshots/whitequark/send_conditional.txt index 7b402d9ef2..7faa6ac04e 100644 --- a/test/prism/snapshots/whitequark/send_conditional.txt +++ b/test/prism/snapshots/whitequark/send_conditional.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/send_index.txt b/test/prism/snapshots/whitequark/send_index.txt index 6c9e08f2ea..5aec47c484 100644 --- a/test/prism/snapshots/whitequark/send_index.txt +++ b/test/prism/snapshots/whitequark/send_index.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -25,10 +27,10 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: (1,8)-(1,9) = "]" └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_asgn.txt b/test/prism/snapshots/whitequark/send_index_asgn.txt index 9d2e6efcb6..fe0f71956a 100644 --- a/test/prism/snapshots/whitequark/send_index_asgn.txt +++ b/test/prism/snapshots/whitequark/send_index_asgn.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -25,13 +27,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 3) │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── @ IntegerNode (location: (1,7)-(1,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 3 ├── closing_loc: (1,8)-(1,9) = "]" └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt b/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt index 9d2e6efcb6..fe0f71956a 100644 --- a/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt +++ b/test/prism/snapshots/whitequark/send_index_asgn_legacy.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,13)) - ├── flags: attribute_write + ├── flags: newline, attribute_write ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -25,13 +27,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 3) │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── @ IntegerNode (location: (1,7)-(1,8)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 2 │ └── @ IntegerNode (location: (1,12)-(1,13)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 3 ├── closing_loc: (1,8)-(1,9) = "]" └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_index_cmd.txt b/test/prism/snapshots/whitequark/send_index_cmd.txt index 0a41fd051d..89a5c41fc3 100644 --- a/test/prism/snapshots/whitequark/send_index_cmd.txt +++ b/test/prism/snapshots/whitequark/send_index_cmd.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,10)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/send_index_legacy.txt b/test/prism/snapshots/whitequark/send_index_legacy.txt index 6c9e08f2ea..5aec47c484 100644 --- a/test/prism/snapshots/whitequark/send_index_legacy.txt +++ b/test/prism/snapshots/whitequark/send_index_legacy.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (1,0)-(1,3)) │ ├── flags: variable_call, ignore_visibility @@ -25,10 +27,10 @@ │ ├── flags: ∅ │ └── arguments: (length: 2) │ ├── @ IntegerNode (location: (1,4)-(1,5)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── @ IntegerNode (location: (1,7)-(1,8)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 2 ├── closing_loc: (1,8)-(1,9) = "]" └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_lambda.txt b/test/prism/snapshots/whitequark/send_lambda.txt index bf21700539..a1693734e8 100644 --- a/test/prism/snapshots/whitequark/send_lambda.txt +++ b/test/prism/snapshots/whitequark/send_lambda.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(5,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,5)) + ├── flags: ∅ └── body: (length: 3) ├── @ LambdaNode (location: (1,0)-(1,8)) + │ ├── flags: newline │ ├── locals: [] │ ├── operator_loc: (1,0)-(1,2) = "->" │ ├── opening_loc: (1,5)-(1,6) = "{" │ ├── closing_loc: (1,7)-(1,8) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,3)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,3)-(1,4)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: @@ -29,6 +34,7 @@ │ │ └── closing_loc: ∅ │ └── body: ∅ ├── @ LambdaNode (location: (3,0)-(3,9)) + │ ├── flags: newline │ ├── locals: [] │ ├── operator_loc: (3,0)-(3,2) = "->" │ ├── opening_loc: (3,3)-(3,5) = "do" @@ -36,6 +42,7 @@ │ ├── parameters: ∅ │ └── body: ∅ └── @ LambdaNode (location: (5,0)-(5,5)) + ├── flags: newline ├── locals: [] ├── operator_loc: (5,0)-(5,2) = "->" ├── opening_loc: (5,2)-(5,3) = "{" diff --git a/test/prism/snapshots/whitequark/send_lambda_args.txt b/test/prism/snapshots/whitequark/send_lambda_args.txt index f61f622bdd..ffa9a6ba9e 100644 --- a/test/prism/snapshots/whitequark/send_lambda_args.txt +++ b/test/prism/snapshots/whitequark/send_lambda_args.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(3,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,9)) + ├── flags: ∅ └── body: (length: 2) ├── @ LambdaNode (location: (1,0)-(1,10)) + │ ├── flags: newline │ ├── locals: [:a] │ ├── operator_loc: (1,0)-(1,2) = "->" │ ├── opening_loc: (1,7)-(1,8) = "{" │ ├── closing_loc: (1,9)-(1,10) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,3)-(1,6)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,4)-(1,5)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 1) │ │ │ │ └── @ RequiredParameterNode (location: (1,4)-(1,5)) │ │ │ │ ├── flags: ∅ @@ -27,14 +32,17 @@ │ │ └── closing_loc: (1,5)-(1,6) = ")" │ └── body: ∅ └── @ LambdaNode (location: (3,0)-(3,9)) + ├── flags: newline ├── locals: [:a] ├── operator_loc: (3,0)-(3,2) = "->" ├── opening_loc: (3,6)-(3,7) = "{" ├── closing_loc: (3,8)-(3,9) = "}" ├── parameters: │ @ BlockParametersNode (location: (3,2)-(3,5)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (3,3)-(3,4)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (3,3)-(3,4)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_lambda_args_noparen.txt b/test/prism/snapshots/whitequark/send_lambda_args_noparen.txt index 747656af6b..2cbe43e6e0 100644 --- a/test/prism/snapshots/whitequark/send_lambda_args_noparen.txt +++ b/test/prism/snapshots/whitequark/send_lambda_args_noparen.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(3,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,9)) + ├── flags: ∅ └── body: (length: 2) ├── @ LambdaNode (location: (1,0)-(1,11)) + │ ├── flags: newline │ ├── locals: [:a] │ ├── operator_loc: (1,0)-(1,2) = "->" │ ├── opening_loc: (1,8)-(1,9) = "{" │ ├── closing_loc: (1,10)-(1,11) = "}" │ ├── parameters: │ │ @ BlockParametersNode (location: (1,3)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── parameters: │ │ │ @ ParametersNode (location: (1,3)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── requireds: (length: 0) │ │ │ ├── optionals: (length: 0) │ │ │ ├── rest: ∅ @@ -23,7 +28,7 @@ │ │ │ │ ├── name_loc: (1,3)-(1,5) = "a:" │ │ │ │ └── value: │ │ │ │ @ IntegerNode (location: (1,6)-(1,7)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ ├── keyword_rest: ∅ │ │ │ └── block: ∅ @@ -32,14 +37,17 @@ │ │ └── closing_loc: ∅ │ └── body: ∅ └── @ LambdaNode (location: (3,0)-(3,9)) + ├── flags: newline ├── locals: [:a] ├── operator_loc: (3,0)-(3,2) = "->" ├── opening_loc: (3,6)-(3,7) = "{" ├── closing_loc: (3,8)-(3,9) = "}" ├── parameters: │ @ BlockParametersNode (location: (3,3)-(3,5)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (3,3)-(3,5)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 0) │ │ ├── optionals: (length: 0) │ │ ├── rest: ∅ diff --git a/test/prism/snapshots/whitequark/send_lambda_args_shadow.txt b/test/prism/snapshots/whitequark/send_lambda_args_shadow.txt index 34a63ec503..5cd6660d4a 100644 --- a/test/prism/snapshots/whitequark/send_lambda_args_shadow.txt +++ b/test/prism/snapshots/whitequark/send_lambda_args_shadow.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(1,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,19)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,19)) + ├── flags: newline ├── locals: [:a, :foo, :bar] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,16)-(1,17) = "{" ├── closing_loc: (1,18)-(1,19) = "}" ├── parameters: │ @ BlockParametersNode (location: (1,2)-(1,15)) + │ ├── flags: ∅ │ ├── parameters: │ │ @ ParametersNode (location: (1,3)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── requireds: (length: 1) │ │ │ └── @ RequiredParameterNode (location: (1,3)-(1,4)) │ │ │ ├── flags: ∅ diff --git a/test/prism/snapshots/whitequark/send_lambda_legacy.txt b/test/prism/snapshots/whitequark/send_lambda_legacy.txt index 3a64e941b6..902e140459 100644 --- a/test/prism/snapshots/whitequark/send_lambda_legacy.txt +++ b/test/prism/snapshots/whitequark/send_lambda_legacy.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ LambdaNode (location: (1,0)-(1,5)) + ├── flags: newline ├── locals: [] ├── operator_loc: (1,0)-(1,2) = "->" ├── opening_loc: (1,2)-(1,3) = "{" diff --git a/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt b/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt index 05966fc5a3..68e09171f8 100644 --- a/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt +++ b/test/prism/snapshots/whitequark/send_op_asgn_conditional.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,10)) + ├── flags: ∅ └── body: (length: 1) └── @ CallAndWriteNode (location: (1,0)-(1,10)) - ├── flags: safe_navigation + ├── flags: newline, safe_navigation ├── receiver: │ @ CallNode (location: (1,0)-(1,1)) │ ├── flags: variable_call, ignore_visibility @@ -23,5 +25,5 @@ ├── operator_loc: (1,5)-(1,8) = "&&=" └── value: @ IntegerNode (location: (1,9)-(1,10)) - ├── flags: decimal + ├── flags: static_literal, decimal └── value: 1 diff --git a/test/prism/snapshots/whitequark/send_plain.txt b/test/prism/snapshots/whitequark/send_plain.txt index be57bee5a0..96643ddcab 100644 --- a/test/prism/snapshots/whitequark/send_plain.txt +++ b/test/prism/snapshots/whitequark/send_plain.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,8)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -24,7 +26,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -44,7 +46,7 @@ │ ├── closing_loc: (3,9)-(3,10) = ")" │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,8)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (5,0)-(5,3)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/send_plain_cmd.txt b/test/prism/snapshots/whitequark/send_plain_cmd.txt index 59236e114d..2785712baa 100644 --- a/test/prism/snapshots/whitequark/send_plain_cmd.txt +++ b/test/prism/snapshots/whitequark/send_plain_cmd.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,12)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,11)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -37,7 +39,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,12)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -70,7 +72,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,12)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (5,0)-(5,3)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/send_self.txt b/test/prism/snapshots/whitequark/send_self.txt index 41fd822110..f3c56f5413 100644 --- a/test/prism/snapshots/whitequark/send_self.txt +++ b/test/prism/snapshots/whitequark/send_self.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,6)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -14,7 +16,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,4)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun! @@ -24,7 +26,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,6)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -35,7 +37,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (5,4)-(5,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (5,5)-(5,6) = ")" └── block: ∅ diff --git a/test/prism/snapshots/whitequark/send_self_block.txt b/test/prism/snapshots/whitequark/send_self_block.txt index c92935603b..2d526d5d48 100644 --- a/test/prism/snapshots/whitequark/send_self_block.txt +++ b/test/prism/snapshots/whitequark/send_self_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(7,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,10)) + ├── flags: ∅ └── body: (length: 4) ├── @ CallNode (location: (1,0)-(1,10)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -14,13 +16,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,4)-(1,10)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,4)-(1,6) = "do" │ └── closing_loc: (1,7)-(1,10) = "end" ├── @ CallNode (location: (3,0)-(3,7)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -30,13 +33,14 @@ │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,4)-(3,7)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (3,4)-(3,5) = "{" │ └── closing_loc: (3,6)-(3,7) = "}" ├── @ CallNode (location: (5,0)-(5,9)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :fun @@ -46,13 +50,14 @@ │ ├── closing_loc: (5,4)-(5,5) = ")" │ └── block: │ @ BlockNode (location: (5,6)-(5,9)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (5,6)-(5,7) = "{" │ └── closing_loc: (5,8)-(5,9) = "}" └── @ CallNode (location: (7,0)-(7,10)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -63,11 +68,12 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ IntegerNode (location: (7,4)-(7,5)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── closing_loc: (7,5)-(7,6) = ")" └── block: @ BlockNode (location: (7,7)-(7,10)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/send_unary_op.txt b/test/prism/snapshots/whitequark/send_unary_op.txt index 8ca1de7968..970b78417f 100644 --- a/test/prism/snapshots/whitequark/send_unary_op.txt +++ b/test/prism/snapshots/whitequark/send_unary_op.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,4)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,1)-(1,4)) │ │ ├── flags: variable_call, ignore_visibility @@ -24,7 +26,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,1)-(3,4)) │ │ ├── flags: variable_call, ignore_visibility @@ -44,7 +46,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,4)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (5,1)-(5,4)) │ ├── flags: variable_call, ignore_visibility diff --git a/test/prism/snapshots/whitequark/slash_newline_in_heredocs.txt b/test/prism/snapshots/whitequark/slash_newline_in_heredocs.txt index ba1fce0c68..bd9fa7916d 100644 --- a/test/prism/snapshots/whitequark/slash_newline_in_heredocs.txt +++ b/test/prism/snapshots/whitequark/slash_newline_in_heredocs.txt @@ -1,32 +1,34 @@ @ ProgramNode (location: (1,0)-(8,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(8,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ StringNode (location: (1,0)-(1,4)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,4) = "<<-E" │ ├── content_loc: (2,0)-(5,0) = " 1 \\\n 2\n 3\n" │ ├── closing_loc: (5,0)-(6,0) = "E\n" │ └── unescaped: " 1 2\n 3\n" └── @ InterpolatedStringNode (location: (8,0)-(8,4)) - ├── flags: ∅ + ├── flags: newline, static_literal ├── opening_loc: (8,0)-(8,4) = "<<~E" ├── parts: (length: 3) │ ├── @ StringNode (location: (9,0)-(10,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (9,0)-(10,0) = " 1 \\\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "1 " │ ├── @ StringNode (location: (10,0)-(11,0)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (10,0)-(11,0) = " 2\n" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "2\n" │ └── @ StringNode (location: (11,0)-(12,0)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (11,0)-(12,0) = " 3\n" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_arg.txt b/test/prism/snapshots/whitequark/space_args_arg.txt index 55750d2b61..a0149c5f32 100644 --- a/test/prism/snapshots/whitequark/space_args_arg.txt +++ b/test/prism/snapshots/whitequark/space_args_arg.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,7)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -15,11 +17,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,4)-(1,7)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── opening_loc: (1,4)-(1,5) = "(" │ └── closing_loc: (1,6)-(1,7) = ")" diff --git a/test/prism/snapshots/whitequark/space_args_arg_block.txt b/test/prism/snapshots/whitequark/space_args_arg_block.txt index a6224bcca1..c3289c1448 100644 --- a/test/prism/snapshots/whitequark/space_args_arg_block.txt +++ b/test/prism/snapshots/whitequark/space_args_arg_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(5,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,10)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,14)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (1,0)-(1,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -25,24 +27,27 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ParenthesesNode (location: (1,8)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,9)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (1,9)-(1,10)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: (1,8)-(1,9) = "(" │ │ └── closing_loc: (1,10)-(1,11) = ")" │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (1,12)-(1,14)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,12)-(1,13) = "{" │ └── closing_loc: (1,13)-(1,14) = "}" ├── @ CallNode (location: (3,0)-(3,15)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,0)-(3,3)) │ │ ├── flags: variable_call, ignore_visibility @@ -63,24 +68,27 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ ParenthesesNode (location: (3,9)-(3,12)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (3,10)-(3,11)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (3,10)-(3,11)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: (3,9)-(3,10) = "(" │ │ └── closing_loc: (3,11)-(3,12) = ")" │ ├── closing_loc: ∅ │ └── block: │ @ BlockNode (location: (3,13)-(3,15)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (3,13)-(3,14) = "{" │ └── closing_loc: (3,14)-(3,15) = "}" └── @ CallNode (location: (5,0)-(5,10)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -91,17 +99,20 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (5,4)-(5,7)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,5)-(5,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (5,5)-(5,6)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── opening_loc: (5,4)-(5,5) = "(" │ └── closing_loc: (5,6)-(5,7) = ")" ├── closing_loc: ∅ └── block: @ BlockNode (location: (5,8)-(5,10)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_arg_call.txt b/test/prism/snapshots/whitequark/space_args_arg_call.txt index 767b099a8b..538a865e2a 100644 --- a/test/prism/snapshots/whitequark/space_args_arg_call.txt +++ b/test/prism/snapshots/whitequark/space_args_arg_call.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,12)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -18,11 +20,13 @@ │ ├── flags: ∅ │ ├── receiver: │ │ @ ParenthesesNode (location: (1,4)-(1,7)) + │ │ ├── flags: ∅ │ │ ├── body: │ │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: newline, static_literal, decimal │ │ │ └── value: 1 │ │ ├── opening_loc: (1,4)-(1,5) = "(" │ │ └── closing_loc: (1,6)-(1,7) = ")" diff --git a/test/prism/snapshots/whitequark/space_args_arg_newline.txt b/test/prism/snapshots/whitequark/space_args_arg_newline.txt index 7727a5ddd9..d3fbe23299 100644 --- a/test/prism/snapshots/whitequark/space_args_arg_newline.txt +++ b/test/prism/snapshots/whitequark/space_args_arg_newline.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(2,1)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(2,1)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(2,1)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -15,11 +17,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,4)-(2,1)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,5)-(1,6)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,5)-(1,6)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 1 │ ├── opening_loc: (1,4)-(1,5) = "(" │ └── closing_loc: (2,0)-(2,1) = ")" diff --git a/test/prism/snapshots/whitequark/space_args_block.txt b/test/prism/snapshots/whitequark/space_args_block.txt index 62b549a674..19b5064886 100644 --- a/test/prism/snapshots/whitequark/space_args_block.txt +++ b/test/prism/snapshots/whitequark/space_args_block.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,9)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,9)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,9)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -15,12 +17,14 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,4)-(1,6)) + │ ├── flags: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,4)-(1,5) = "(" │ └── closing_loc: (1,5)-(1,6) = ")" ├── closing_loc: ∅ └── block: @ BlockNode (location: (1,7)-(1,9)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/space_args_cmd.txt b/test/prism/snapshots/whitequark/space_args_cmd.txt index 8a75bef6a8..f91b7edbbe 100644 --- a/test/prism/snapshots/whitequark/space_args_cmd.txt +++ b/test/prism/snapshots/whitequark/space_args_cmd.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,11)) - ├── flags: ignore_visibility + ├── flags: newline, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :fun @@ -15,11 +17,13 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ ParenthesesNode (location: (1,4)-(1,11)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,5)-(1,10)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,5)-(1,10)) - │ │ ├── flags: ignore_visibility + │ │ ├── flags: newline, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :f diff --git a/test/prism/snapshots/whitequark/string___FILE__.txt b/test/prism/snapshots/whitequark/string___FILE__.txt index a12499a631..98cd05e689 100644 --- a/test/prism/snapshots/whitequark/string___FILE__.txt +++ b/test/prism/snapshots/whitequark/string___FILE__.txt @@ -1,8 +1,10 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ SourceFileNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline └── filepath: "whitequark/string___FILE__.txt" diff --git a/test/prism/snapshots/whitequark/string_concat.txt b/test/prism/snapshots/whitequark/string_concat.txt index f7f7bf9723..1320fae371 100644 --- a/test/prism/snapshots/whitequark/string_concat.txt +++ b/test/prism/snapshots/whitequark/string_concat.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: ∅ ├── parts: (length: 2) │ ├── @ InterpolatedStringNode (location: (1,0)-(1,8)) @@ -12,19 +14,21 @@ │ │ ├── opening_loc: (1,0)-(1,1) = "\"" │ │ ├── parts: (length: 2) │ │ │ ├── @ StringNode (location: (1,1)-(1,4)) - │ │ │ │ ├── flags: frozen + │ │ │ │ ├── flags: static_literal, frozen │ │ │ │ ├── opening_loc: ∅ │ │ │ │ ├── content_loc: (1,1)-(1,4) = "foo" │ │ │ │ ├── closing_loc: ∅ │ │ │ │ └── unescaped: "foo" │ │ │ └── @ EmbeddedVariableNode (location: (1,4)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (1,4)-(1,5) = "#" │ │ │ └── variable: │ │ │ @ InstanceVariableReadNode (location: (1,5)-(1,7)) + │ │ │ ├── flags: ∅ │ │ │ └── name: :@a │ │ └── closing_loc: (1,7)-(1,8) = "\"" │ └── @ StringNode (location: (1,9)-(1,14)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: (1,9)-(1,10) = "\"" │ ├── content_loc: (1,10)-(1,13) = "bar" │ ├── closing_loc: (1,13)-(1,14) = "\"" diff --git a/test/prism/snapshots/whitequark/string_dvar.txt b/test/prism/snapshots/whitequark/string_dvar.txt index 9d04232580..ab11f00013 100644 --- a/test/prism/snapshots/whitequark/string_dvar.txt +++ b/test/prism/snapshots/whitequark/string_dvar.txt @@ -1,37 +1,45 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 5) │ ├── @ EmbeddedVariableNode (location: (1,1)-(1,4)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,1)-(1,2) = "#" │ │ └── variable: │ │ @ InstanceVariableReadNode (location: (1,2)-(1,4)) + │ │ ├── flags: ∅ │ │ └── name: :@a │ ├── @ StringNode (location: (1,4)-(1,5)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,4)-(1,5) = " " │ │ ├── closing_loc: ∅ │ │ └── unescaped: " " │ ├── @ EmbeddedVariableNode (location: (1,5)-(1,9)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,5)-(1,6) = "#" │ │ └── variable: │ │ @ ClassVariableReadNode (location: (1,6)-(1,9)) + │ │ ├── flags: ∅ │ │ └── name: :@@a │ ├── @ StringNode (location: (1,9)-(1,10)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,9)-(1,10) = " " │ │ ├── closing_loc: ∅ │ │ └── unescaped: " " │ └── @ EmbeddedVariableNode (location: (1,10)-(1,13)) + │ ├── flags: ∅ │ ├── operator_loc: (1,10)-(1,11) = "#" │ └── variable: │ @ GlobalVariableReadNode (location: (1,11)-(1,13)) + │ ├── flags: ∅ │ └── name: :$a └── closing_loc: (1,13)-(1,14) = "\"" diff --git a/test/prism/snapshots/whitequark/string_interp.txt b/test/prism/snapshots/whitequark/string_interp.txt index 597e8c5d5b..22ddaed0cd 100644 --- a/test/prism/snapshots/whitequark/string_interp.txt +++ b/test/prism/snapshots/whitequark/string_interp.txt @@ -1,22 +1,26 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedStringNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "\"" ├── parts: (length: 3) │ ├── @ StringNode (location: (1,1)-(1,4)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,1)-(1,4) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── @ EmbeddedStatementsNode (location: (1,4)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,4)-(1,6) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,6)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,6)-(1,9)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -30,7 +34,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (1,9)-(1,10) = "}" │ └── @ StringNode (location: (1,10)-(1,13)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,10)-(1,13) = "baz" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/string_plain.txt b/test/prism/snapshots/whitequark/string_plain.txt index 7534ac1844..0a763cef60 100644 --- a/test/prism/snapshots/whitequark/string_plain.txt +++ b/test/prism/snapshots/whitequark/string_plain.txt @@ -1,16 +1,18 @@ @ ProgramNode (location: (1,0)-(3,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,8)) + ├── flags: ∅ └── body: (length: 2) ├── @ StringNode (location: (1,0)-(1,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,3) = "%q(" │ ├── content_loc: (1,3)-(1,9) = "foobar" │ ├── closing_loc: (1,9)-(1,10) = ")" │ └── unescaped: "foobar" └── @ StringNode (location: (3,0)-(3,8)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (3,0)-(3,1) = "'" ├── content_loc: (3,1)-(3,7) = "foobar" ├── closing_loc: (3,7)-(3,8) = "'" diff --git a/test/prism/snapshots/whitequark/super.txt b/test/prism/snapshots/whitequark/super.txt index 132b4912e4..da89dbda28 100644 --- a/test/prism/snapshots/whitequark/super.txt +++ b/test/prism/snapshots/whitequark/super.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(5,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,10)) + ├── flags: ∅ └── body: (length: 3) ├── @ SuperNode (location: (1,0)-(1,9)) + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,5) = "super" │ ├── lparen_loc: ∅ │ ├── arguments: @@ -23,12 +26,14 @@ │ ├── rparen_loc: ∅ │ └── block: ∅ ├── @ SuperNode (location: (3,0)-(3,7)) + │ ├── flags: newline │ ├── keyword_loc: (3,0)-(3,5) = "super" │ ├── lparen_loc: (3,5)-(3,6) = "(" │ ├── arguments: ∅ │ ├── rparen_loc: (3,6)-(3,7) = ")" │ └── block: ∅ └── @ SuperNode (location: (5,0)-(5,10)) + ├── flags: newline ├── keyword_loc: (5,0)-(5,5) = "super" ├── lparen_loc: (5,5)-(5,6) = "(" ├── arguments: diff --git a/test/prism/snapshots/whitequark/super_block.txt b/test/prism/snapshots/whitequark/super_block.txt index d9ce7b86be..095856ef40 100644 --- a/test/prism/snapshots/whitequark/super_block.txt +++ b/test/prism/snapshots/whitequark/super_block.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(3,21)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,21)) + ├── flags: ∅ └── body: (length: 2) ├── @ ForwardingSuperNode (location: (1,0)-(1,12)) + │ ├── flags: newline │ └── block: │ @ BlockNode (location: (1,6)-(1,12)) + │ ├── flags: ∅ │ ├── locals: [] │ ├── parameters: ∅ │ ├── body: ∅ │ ├── opening_loc: (1,6)-(1,8) = "do" │ └── closing_loc: (1,9)-(1,12) = "end" └── @ SuperNode (location: (3,0)-(3,21)) + ├── flags: newline ├── keyword_loc: (3,0)-(3,5) = "super" ├── lparen_loc: ∅ ├── arguments: @@ -41,6 +46,7 @@ ├── rparen_loc: ∅ └── block: @ BlockNode (location: (3,15)-(3,21)) + ├── flags: ∅ ├── locals: [] ├── parameters: ∅ ├── body: ∅ diff --git a/test/prism/snapshots/whitequark/symbol_interp.txt b/test/prism/snapshots/whitequark/symbol_interp.txt index a9b8dfcb63..46a24b6c7e 100644 --- a/test/prism/snapshots/whitequark/symbol_interp.txt +++ b/test/prism/snapshots/whitequark/symbol_interp.txt @@ -1,21 +1,26 @@ @ ProgramNode (location: (1,0)-(1,15)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,15)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedSymbolNode (location: (1,0)-(1,15)) + ├── flags: newline ├── opening_loc: (1,0)-(1,2) = ":\"" ├── parts: (length: 3) │ ├── @ StringNode (location: (1,2)-(1,5)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,2)-(1,5) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── @ EmbeddedStatementsNode (location: (1,5)-(1,11)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,5)-(1,7) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,7)-(1,10)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,7)-(1,10)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -29,7 +34,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (1,10)-(1,11) = "}" │ └── @ StringNode (location: (1,11)-(1,14)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,11)-(1,14) = "baz" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/symbol_plain.txt b/test/prism/snapshots/whitequark/symbol_plain.txt index a2466600f5..803f2847cd 100644 --- a/test/prism/snapshots/whitequark/symbol_plain.txt +++ b/test/prism/snapshots/whitequark/symbol_plain.txt @@ -1,16 +1,18 @@ @ ProgramNode (location: (1,0)-(3,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,4)) + ├── flags: ∅ └── body: (length: 2) ├── @ SymbolNode (location: (1,0)-(1,6)) - │ ├── flags: forced_us_ascii_encoding + │ ├── flags: newline, static_literal, forced_us_ascii_encoding │ ├── opening_loc: (1,0)-(1,2) = ":'" │ ├── value_loc: (1,2)-(1,5) = "foo" │ ├── closing_loc: (1,5)-(1,6) = "'" │ └── unescaped: "foo" └── @ SymbolNode (location: (3,0)-(3,4)) - ├── flags: forced_us_ascii_encoding + ├── flags: newline, static_literal, forced_us_ascii_encoding ├── opening_loc: (3,0)-(3,1) = ":" ├── value_loc: (3,1)-(3,4) = "foo" ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/ternary.txt b/test/prism/snapshots/whitequark/ternary.txt index fa637ffb4e..411ba972f5 100644 --- a/test/prism/snapshots/whitequark/ternary.txt +++ b/test/prism/snapshots/whitequark/ternary.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,11)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,11)) + ├── flags: ∅ └── body: (length: 1) └── @ IfNode (location: (1,0)-(1,11)) + ├── flags: newline ├── if_keyword_loc: ∅ ├── predicate: │ @ CallNode (location: (1,0)-(1,3)) @@ -19,18 +22,21 @@ ├── then_keyword_loc: (1,4)-(1,5) = "?" ├── statements: │ @ StatementsNode (location: (1,6)-(1,7)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ IntegerNode (location: (1,6)-(1,7)) - │ ├── flags: decimal + │ ├── flags: newline, static_literal, decimal │ └── value: 1 ├── consequent: │ @ ElseNode (location: (1,8)-(1,11)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,8)-(1,9) = ":" │ ├── statements: │ │ @ StatementsNode (location: (1,10)-(1,11)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ IntegerNode (location: (1,10)-(1,11)) - │ │ ├── flags: decimal + │ │ ├── flags: newline, static_literal, decimal │ │ └── value: 2 │ └── end_keyword_loc: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt b/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt index 833afcff42..04dfce8d85 100644 --- a/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt +++ b/test/prism/snapshots/whitequark/ternary_ambiguous_symbol.txt @@ -1,26 +1,32 @@ @ ProgramNode (location: (1,0)-(1,13)) +├── flags: ∅ ├── locals: [:t] └── statements: @ StatementsNode (location: (1,0)-(1,13)) + ├── flags: ∅ └── body: (length: 2) ├── @ LocalVariableWriteNode (location: (1,0)-(1,3)) + │ ├── flags: newline │ ├── name: :t │ ├── depth: 0 │ ├── name_loc: (1,0)-(1,1) = "t" │ ├── value: │ │ @ IntegerNode (location: (1,2)-(1,3)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── operator_loc: (1,1)-(1,2) = "=" └── @ IfNode (location: (1,4)-(1,13)) + ├── flags: newline ├── if_keyword_loc: ∅ ├── predicate: │ @ ParenthesesNode (location: (1,4)-(1,9)) + │ ├── flags: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,5)-(1,8)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,5)-(1,8)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo @@ -34,17 +40,22 @@ ├── then_keyword_loc: (1,9)-(1,10) = "?" ├── statements: │ @ StatementsNode (location: (1,10)-(1,11)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ LocalVariableReadNode (location: (1,10)-(1,11)) + │ ├── flags: newline │ ├── name: :t │ └── depth: 0 ├── consequent: │ @ ElseNode (location: (1,11)-(1,13)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (1,11)-(1,12) = ":" │ ├── statements: │ │ @ StatementsNode (location: (1,12)-(1,13)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ ConstantReadNode (location: (1,12)-(1,13)) + │ │ ├── flags: newline │ │ └── name: :T │ └── end_keyword_loc: ∅ └── end_keyword_loc: ∅ diff --git a/test/prism/snapshots/whitequark/trailing_forward_arg.txt b/test/prism/snapshots/whitequark/trailing_forward_arg.txt index e12dad132b..3cb3f8ae08 100644 --- a/test/prism/snapshots/whitequark/trailing_forward_arg.txt +++ b/test/prism/snapshots/whitequark/trailing_forward_arg.txt @@ -1,14 +1,18 @@ @ ProgramNode (location: (1,0)-(1,40)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,40)) + ├── flags: ∅ └── body: (length: 1) └── @ DefNode (location: (1,0)-(1,40)) + ├── flags: newline ├── name: :foo ├── name_loc: (1,4)-(1,7) = "foo" ├── receiver: ∅ ├── parameters: │ @ ParametersNode (location: (1,8)-(1,17)) + │ ├── flags: ∅ │ ├── requireds: (length: 2) │ │ ├── @ RequiredParameterNode (location: (1,8)-(1,9)) │ │ │ ├── flags: ∅ @@ -22,12 +26,14 @@ │ ├── keywords: (length: 0) │ ├── keyword_rest: │ │ @ ForwardingParameterNode (location: (1,14)-(1,17)) + │ │ └── flags: ∅ │ └── block: ∅ ├── body: │ @ StatementsNode (location: (1,20)-(1,35)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,20)-(1,35)) - │ ├── flags: ignore_visibility + │ ├── flags: newline, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -38,12 +44,14 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 3) │ │ ├── @ LocalVariableReadNode (location: (1,24)-(1,25)) + │ │ │ ├── flags: ∅ │ │ │ ├── name: :a │ │ │ └── depth: 0 │ │ ├── @ IntegerNode (location: (1,27)-(1,29)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 42 │ │ └── @ ForwardingArgumentsNode (location: (1,31)-(1,34)) + │ │ └── flags: ∅ │ ├── closing_loc: (1,34)-(1,35) = ")" │ └── block: ∅ ├── locals: [:a, :b] diff --git a/test/prism/snapshots/whitequark/true.txt b/test/prism/snapshots/whitequark/true.txt index 3e1ceef586..ba705338ba 100644 --- a/test/prism/snapshots/whitequark/true.txt +++ b/test/prism/snapshots/whitequark/true.txt @@ -1,6 +1,9 @@ @ ProgramNode (location: (1,0)-(1,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ TrueNode (location: (1,0)-(1,4)) + └── flags: newline, static_literal diff --git a/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt b/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt index e14b0567e7..0f2fb776b4 100644 --- a/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt +++ b/test/prism/snapshots/whitequark/unary_num_pow_precedence.txt @@ -1,12 +1,15 @@ @ ProgramNode (location: (1,0)-(5,10)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(5,10)) + ├── flags: ∅ └── body: (length: 3) ├── @ CallNode (location: (1,0)-(1,10)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ FloatNode (location: (1,0)-(1,4)) + │ │ ├── flags: static_literal │ │ └── value: 2.0 │ ├── call_operator_loc: ∅ │ ├── name: :** @@ -17,18 +20,18 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (1,8)-(1,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 10 │ ├── closing_loc: ∅ │ └── block: ∅ ├── @ CallNode (location: (3,0)-(3,8)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── receiver: │ │ @ CallNode (location: (3,1)-(3,8)) │ │ ├── flags: ∅ │ │ ├── receiver: │ │ │ @ IntegerNode (location: (3,1)-(3,2)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ ├── call_operator_loc: ∅ │ │ ├── name: :** @@ -39,7 +42,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (3,6)-(3,8)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 10 │ │ ├── closing_loc: ∅ │ │ └── block: ∅ @@ -51,12 +54,13 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ CallNode (location: (5,0)-(5,10)) - ├── flags: ∅ + ├── flags: newline ├── receiver: │ @ CallNode (location: (5,1)-(5,10)) │ ├── flags: ∅ │ ├── receiver: │ │ @ FloatNode (location: (5,1)-(5,4)) + │ │ ├── flags: static_literal │ │ └── value: 2.0 │ ├── call_operator_loc: ∅ │ ├── name: :** @@ -67,7 +71,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ IntegerNode (location: (5,8)-(5,10)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 10 │ ├── closing_loc: ∅ │ └── block: ∅ diff --git a/test/prism/snapshots/whitequark/undef.txt b/test/prism/snapshots/whitequark/undef.txt index 163cc2e867..a24ba2f868 100644 --- a/test/prism/snapshots/whitequark/undef.txt +++ b/test/prism/snapshots/whitequark/undef.txt @@ -1,38 +1,44 @@ @ ProgramNode (location: (1,0)-(1,27)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,27)) + ├── flags: ∅ └── body: (length: 1) └── @ UndefNode (location: (1,0)-(1,27)) + ├── flags: newline ├── names: (length: 3) │ ├── @ SymbolNode (location: (1,6)-(1,9)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: ∅ │ │ ├── value_loc: (1,6)-(1,9) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── @ SymbolNode (location: (1,11)-(1,15)) - │ │ ├── flags: forced_us_ascii_encoding + │ │ ├── flags: static_literal, forced_us_ascii_encoding │ │ ├── opening_loc: (1,11)-(1,12) = ":" │ │ ├── value_loc: (1,12)-(1,15) = "bar" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "bar" │ └── @ InterpolatedSymbolNode (location: (1,17)-(1,27)) + │ ├── flags: ∅ │ ├── opening_loc: (1,17)-(1,19) = ":\"" │ ├── parts: (length: 2) │ │ ├── @ StringNode (location: (1,19)-(1,22)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (1,19)-(1,22) = "foo" │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo" │ │ └── @ EmbeddedStatementsNode (location: (1,22)-(1,26)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,22)-(1,24) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,24)-(1,25)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ IntegerNode (location: (1,24)-(1,25)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── closing_loc: (1,25)-(1,26) = "}" │ └── closing_loc: (1,26)-(1,27) = "\"" diff --git a/test/prism/snapshots/whitequark/unless.txt b/test/prism/snapshots/whitequark/unless.txt index a3bbbe69c8..4aa47f99a5 100644 --- a/test/prism/snapshots/whitequark/unless.txt +++ b/test/prism/snapshots/whitequark/unless.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,20)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,20)) + ├── flags: ∅ └── body: (length: 2) ├── @ UnlessNode (location: (1,0)-(1,24)) + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,6) = "unless" │ ├── predicate: │ │ @ CallNode (location: (1,7)-(1,10)) @@ -19,9 +22,10 @@ │ ├── then_keyword_loc: (1,11)-(1,15) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,16)-(1,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,16)-(1,19)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -33,6 +37,7 @@ │ ├── consequent: ∅ │ └── end_keyword_loc: (1,21)-(1,24) = "end" └── @ UnlessNode (location: (3,0)-(3,20)) + ├── flags: newline ├── keyword_loc: (3,0)-(3,6) = "unless" ├── predicate: │ @ CallNode (location: (3,7)-(3,10)) @@ -48,9 +53,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,12)-(3,15)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (3,12)-(3,15)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/unless_else.txt b/test/prism/snapshots/whitequark/unless_else.txt index f4f95379e5..1561085585 100644 --- a/test/prism/snapshots/whitequark/unless_else.txt +++ b/test/prism/snapshots/whitequark/unless_else.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(3,30)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,30)) + ├── flags: ∅ └── body: (length: 2) ├── @ UnlessNode (location: (1,0)-(1,34)) + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,6) = "unless" │ ├── predicate: │ │ @ CallNode (location: (1,7)-(1,10)) @@ -19,9 +22,10 @@ │ ├── then_keyword_loc: (1,11)-(1,15) = "then" │ ├── statements: │ │ @ StatementsNode (location: (1,16)-(1,19)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,16)-(1,19)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -32,12 +36,14 @@ │ │ └── block: ∅ │ ├── consequent: │ │ @ ElseNode (location: (1,21)-(1,34)) + │ │ ├── flags: ∅ │ │ ├── else_keyword_loc: (1,21)-(1,25) = "else" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,26)-(1,29)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,26)-(1,29)) - │ │ │ ├── flags: variable_call, ignore_visibility + │ │ │ ├── flags: newline, variable_call, ignore_visibility │ │ │ ├── receiver: ∅ │ │ │ ├── call_operator_loc: ∅ │ │ │ ├── name: :baz @@ -49,6 +55,7 @@ │ │ └── end_keyword_loc: (1,31)-(1,34) = "end" │ └── end_keyword_loc: (1,31)-(1,34) = "end" └── @ UnlessNode (location: (3,0)-(3,30)) + ├── flags: newline ├── keyword_loc: (3,0)-(3,6) = "unless" ├── predicate: │ @ CallNode (location: (3,7)-(3,10)) @@ -64,9 +71,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (3,12)-(3,15)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (3,12)-(3,15)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar @@ -77,12 +85,14 @@ │ └── block: ∅ ├── consequent: │ @ ElseNode (location: (3,17)-(3,30)) + │ ├── flags: ∅ │ ├── else_keyword_loc: (3,17)-(3,21) = "else" │ ├── statements: │ │ @ StatementsNode (location: (3,22)-(3,25)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (3,22)-(3,25)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :baz diff --git a/test/prism/snapshots/whitequark/unless_mod.txt b/test/prism/snapshots/whitequark/unless_mod.txt index d4dfda6b2c..7bdc0446b2 100644 --- a/test/prism/snapshots/whitequark/unless_mod.txt +++ b/test/prism/snapshots/whitequark/unless_mod.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ UnlessNode (location: (1,0)-(1,14)) + ├── flags: newline ├── keyword_loc: (1,4)-(1,10) = "unless" ├── predicate: │ @ CallNode (location: (1,11)-(1,14)) @@ -19,9 +22,10 @@ ├── then_keyword_loc: ∅ ├── statements: │ @ StatementsNode (location: (1,0)-(1,3)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,0)-(1,3)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/until.txt b/test/prism/snapshots/whitequark/until.txt index e5f60a2cf7..0a0f2b35be 100644 --- a/test/prism/snapshots/whitequark/until.txt +++ b/test/prism/snapshots/whitequark/until.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,19)) + ├── flags: ∅ └── body: (length: 2) ├── @ UntilNode (location: (1,0)-(1,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,5) = "until" │ ├── closing_loc: (1,18)-(1,21) = "end" │ ├── predicate: @@ -20,9 +22,10 @@ │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (1,13)-(1,17)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,13)-(1,17)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -32,7 +35,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ UntilNode (location: (3,0)-(3,19)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (3,0)-(3,5) = "until" ├── closing_loc: (3,16)-(3,19) = "end" ├── predicate: @@ -48,9 +51,10 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (3,11)-(3,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (3,11)-(3,15)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :meth diff --git a/test/prism/snapshots/whitequark/until_mod.txt b/test/prism/snapshots/whitequark/until_mod.txt index 0b7e2360b5..f491018524 100644 --- a/test/prism/snapshots/whitequark/until_mod.txt +++ b/test/prism/snapshots/whitequark/until_mod.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ UntilNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (1,5)-(1,10) = "until" ├── closing_loc: ∅ ├── predicate: @@ -20,9 +22,10 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :meth diff --git a/test/prism/snapshots/whitequark/until_post.txt b/test/prism/snapshots/whitequark/until_post.txt index 5b282c363b..c5efd5ebe7 100644 --- a/test/prism/snapshots/whitequark/until_post.txt +++ b/test/prism/snapshots/whitequark/until_post.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ UntilNode (location: (1,0)-(1,24)) - ├── flags: begin_modifier + ├── flags: newline, begin_modifier ├── keyword_loc: (1,15)-(1,20) = "until" ├── closing_loc: ∅ ├── predicate: @@ -20,14 +22,17 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,14)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,6)-(1,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,6)-(1,10)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth diff --git a/test/prism/snapshots/whitequark/var_and_asgn.txt b/test/prism/snapshots/whitequark/var_and_asgn.txt index a3c90f804c..1fd4b042bf 100644 --- a/test/prism/snapshots/whitequark/var_and_asgn.txt +++ b/test/prism/snapshots/whitequark/var_and_asgn.txt @@ -1,14 +1,17 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableAndWriteNode (location: (1,0)-(1,7)) + ├── flags: newline ├── name_loc: (1,0)-(1,1) = "a" ├── operator_loc: (1,2)-(1,5) = "&&=" ├── value: │ @ IntegerNode (location: (1,6)-(1,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── name: :a └── depth: 0 diff --git a/test/prism/snapshots/whitequark/var_op_asgn.txt b/test/prism/snapshots/whitequark/var_op_asgn.txt index f20f612fa2..bc863b31c7 100644 --- a/test/prism/snapshots/whitequark/var_op_asgn.txt +++ b/test/prism/snapshots/whitequark/var_op_asgn.txt @@ -1,51 +1,59 @@ @ ProgramNode (location: (1,0)-(7,23)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(7,23)) + ├── flags: ∅ └── body: (length: 4) ├── @ ClassVariableOperatorWriteNode (location: (1,0)-(1,11)) + │ ├── flags: newline │ ├── name: :@@var │ ├── name_loc: (1,0)-(1,5) = "@@var" │ ├── binary_operator_loc: (1,6)-(1,8) = "|=" │ ├── value: │ │ @ IntegerNode (location: (1,9)-(1,11)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 10 │ └── binary_operator: :| ├── @ InstanceVariableOperatorWriteNode (location: (3,0)-(3,7)) + │ ├── flags: newline │ ├── name: :@a │ ├── name_loc: (3,0)-(3,2) = "@a" │ ├── binary_operator_loc: (3,3)-(3,5) = "|=" │ ├── value: │ │ @ IntegerNode (location: (3,6)-(3,7)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ └── binary_operator: :| ├── @ LocalVariableOperatorWriteNode (location: (5,0)-(5,6)) + │ ├── flags: newline │ ├── name_loc: (5,0)-(5,1) = "a" │ ├── binary_operator_loc: (5,2)-(5,4) = "+=" │ ├── value: │ │ @ IntegerNode (location: (5,5)-(5,6)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 1 │ ├── name: :a │ ├── binary_operator: :+ │ └── depth: 0 └── @ DefNode (location: (7,0)-(7,23)) + ├── flags: newline ├── name: :a ├── name_loc: (7,4)-(7,5) = "a" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (7,7)-(7,18)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ ClassVariableOperatorWriteNode (location: (7,7)-(7,18)) + │ ├── flags: newline │ ├── name: :@@var │ ├── name_loc: (7,7)-(7,12) = "@@var" │ ├── binary_operator_loc: (7,13)-(7,15) = "|=" │ ├── value: │ │ @ IntegerNode (location: (7,16)-(7,18)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 10 │ └── binary_operator: :| ├── locals: [] diff --git a/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt b/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt index 0bfa06d5b7..381c98a95a 100644 --- a/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt +++ b/test/prism/snapshots/whitequark/var_op_asgn_cmd.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,12)) +├── flags: ∅ ├── locals: [:foo] └── statements: @ StatementsNode (location: (1,0)-(1,12)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableOperatorWriteNode (location: (1,0)-(1,12)) + ├── flags: newline ├── name_loc: (1,0)-(1,3) = "foo" ├── binary_operator_loc: (1,4)-(1,6) = "+=" ├── value: @@ -19,6 +22,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ LocalVariableReadNode (location: (1,9)-(1,12)) + │ │ ├── flags: ∅ │ │ ├── name: :foo │ │ └── depth: 0 │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/var_or_asgn.txt b/test/prism/snapshots/whitequark/var_or_asgn.txt index a0531d2c30..2d034c7f2d 100644 --- a/test/prism/snapshots/whitequark/var_or_asgn.txt +++ b/test/prism/snapshots/whitequark/var_or_asgn.txt @@ -1,14 +1,17 @@ @ ProgramNode (location: (1,0)-(1,7)) +├── flags: ∅ ├── locals: [:a] └── statements: @ StatementsNode (location: (1,0)-(1,7)) + ├── flags: ∅ └── body: (length: 1) └── @ LocalVariableOrWriteNode (location: (1,0)-(1,7)) + ├── flags: newline ├── name_loc: (1,0)-(1,1) = "a" ├── operator_loc: (1,2)-(1,5) = "||=" ├── value: │ @ IntegerNode (location: (1,6)-(1,7)) - │ ├── flags: decimal + │ ├── flags: static_literal, decimal │ └── value: 1 ├── name: :a └── depth: 0 diff --git a/test/prism/snapshots/whitequark/when_multi.txt b/test/prism/snapshots/whitequark/when_multi.txt index 1c399b642d..a4cd447b8c 100644 --- a/test/prism/snapshots/whitequark/when_multi.txt +++ b/test/prism/snapshots/whitequark/when_multi.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,37)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,37)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,37)) + ├── flags: newline ├── predicate: │ @ CallNode (location: (1,5)-(1,8)) │ ├── flags: variable_call, ignore_visibility @@ -17,16 +20,17 @@ │ └── block: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,10)-(1,32)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,10)-(1,14) = "when" │ ├── conditions: (length: 2) │ │ ├── @ StringNode (location: (1,15)-(1,20)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: (1,15)-(1,16) = "'" │ │ │ ├── content_loc: (1,16)-(1,19) = "bar" │ │ │ ├── closing_loc: (1,19)-(1,20) = "'" │ │ │ └── unescaped: "bar" │ │ └── @ StringNode (location: (1,22)-(1,27)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (1,22)-(1,23) = "'" │ │ ├── content_loc: (1,23)-(1,26) = "baz" │ │ ├── closing_loc: (1,26)-(1,27) = "'" @@ -34,9 +38,10 @@ │ ├── then_keyword_loc: ∅ │ └── statements: │ @ StatementsNode (location: (1,29)-(1,32)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,29)-(1,32)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/when_splat.txt b/test/prism/snapshots/whitequark/when_splat.txt index 351631714e..9f1d695362 100644 --- a/test/prism/snapshots/whitequark/when_splat.txt +++ b/test/prism/snapshots/whitequark/when_splat.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,43)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,43)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,43)) + ├── flags: newline ├── predicate: │ @ CallNode (location: (1,5)-(1,8)) │ ├── flags: variable_call, ignore_visibility @@ -17,12 +20,14 @@ │ └── block: ∅ ├── conditions: (length: 2) │ ├── @ WhenNode (location: (1,10)-(1,27)) + │ │ ├── flags: ∅ │ │ ├── keyword_loc: (1,10)-(1,14) = "when" │ │ ├── conditions: (length: 2) │ │ │ ├── @ IntegerNode (location: (1,15)-(1,16)) - │ │ │ │ ├── flags: decimal + │ │ │ │ ├── flags: static_literal, decimal │ │ │ │ └── value: 1 │ │ │ └── @ SplatNode (location: (1,18)-(1,22)) + │ │ │ ├── flags: ∅ │ │ │ ├── operator_loc: (1,18)-(1,19) = "*" │ │ │ └── expression: │ │ │ @ CallNode (location: (1,19)-(1,22)) @@ -38,9 +43,10 @@ │ │ ├── then_keyword_loc: ∅ │ │ └── statements: │ │ @ StatementsNode (location: (1,24)-(1,27)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ CallNode (location: (1,24)-(1,27)) - │ │ ├── flags: variable_call, ignore_visibility + │ │ ├── flags: newline, variable_call, ignore_visibility │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :bar @@ -50,9 +56,11 @@ │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── @ WhenNode (location: (1,29)-(1,38)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,29)-(1,33) = "when" │ ├── conditions: (length: 1) │ │ └── @ SplatNode (location: (1,34)-(1,38)) + │ │ ├── flags: ∅ │ │ ├── operator_loc: (1,34)-(1,35) = "*" │ │ └── expression: │ │ @ CallNode (location: (1,35)-(1,38)) diff --git a/test/prism/snapshots/whitequark/when_then.txt b/test/prism/snapshots/whitequark/when_then.txt index eb6f261ba4..c7af419fbe 100644 --- a/test/prism/snapshots/whitequark/when_then.txt +++ b/test/prism/snapshots/whitequark/when_then.txt @@ -1,9 +1,12 @@ @ ProgramNode (location: (1,0)-(1,34)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,34)) + ├── flags: ∅ └── body: (length: 1) └── @ CaseNode (location: (1,0)-(1,34)) + ├── flags: newline ├── predicate: │ @ CallNode (location: (1,5)-(1,8)) │ ├── flags: variable_call, ignore_visibility @@ -17,10 +20,11 @@ │ └── block: ∅ ├── conditions: (length: 1) │ └── @ WhenNode (location: (1,10)-(1,29)) + │ ├── flags: ∅ │ ├── keyword_loc: (1,10)-(1,14) = "when" │ ├── conditions: (length: 1) │ │ └── @ StringNode (location: (1,15)-(1,20)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: (1,15)-(1,16) = "'" │ │ ├── content_loc: (1,16)-(1,19) = "bar" │ │ ├── closing_loc: (1,19)-(1,20) = "'" @@ -28,9 +32,10 @@ │ ├── then_keyword_loc: (1,21)-(1,25) = "then" │ └── statements: │ @ StatementsNode (location: (1,26)-(1,29)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,26)-(1,29)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :bar diff --git a/test/prism/snapshots/whitequark/while.txt b/test/prism/snapshots/whitequark/while.txt index 72f9971fe5..949a3952d3 100644 --- a/test/prism/snapshots/whitequark/while.txt +++ b/test/prism/snapshots/whitequark/while.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(3,19)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(3,19)) + ├── flags: ∅ └── body: (length: 2) ├── @ WhileNode (location: (1,0)-(1,21)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── keyword_loc: (1,0)-(1,5) = "while" │ ├── closing_loc: (1,18)-(1,21) = "end" │ ├── predicate: @@ -20,9 +22,10 @@ │ │ └── block: ∅ │ └── statements: │ @ StatementsNode (location: (1,13)-(1,17)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,13)-(1,17)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth @@ -32,7 +35,7 @@ │ ├── closing_loc: ∅ │ └── block: ∅ └── @ WhileNode (location: (3,0)-(3,19)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (3,0)-(3,5) = "while" ├── closing_loc: (3,16)-(3,19) = "end" ├── predicate: @@ -48,9 +51,10 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (3,11)-(3,15)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (3,11)-(3,15)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :meth diff --git a/test/prism/snapshots/whitequark/while_mod.txt b/test/prism/snapshots/whitequark/while_mod.txt index 50a8f84d81..696163e433 100644 --- a/test/prism/snapshots/whitequark/while_mod.txt +++ b/test/prism/snapshots/whitequark/while_mod.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ WhileNode (location: (1,0)-(1,14)) - ├── flags: ∅ + ├── flags: newline ├── keyword_loc: (1,5)-(1,10) = "while" ├── closing_loc: ∅ ├── predicate: @@ -20,9 +22,10 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (1,0)-(1,4)) + ├── flags: ∅ └── body: (length: 1) └── @ CallNode (location: (1,0)-(1,4)) - ├── flags: variable_call, ignore_visibility + ├── flags: newline, variable_call, ignore_visibility ├── receiver: ∅ ├── call_operator_loc: ∅ ├── name: :meth diff --git a/test/prism/snapshots/whitequark/while_post.txt b/test/prism/snapshots/whitequark/while_post.txt index 63c6c84a24..32cef381f1 100644 --- a/test/prism/snapshots/whitequark/while_post.txt +++ b/test/prism/snapshots/whitequark/while_post.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,24)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,24)) + ├── flags: ∅ └── body: (length: 1) └── @ WhileNode (location: (1,0)-(1,24)) - ├── flags: begin_modifier + ├── flags: newline, begin_modifier ├── keyword_loc: (1,15)-(1,20) = "while" ├── closing_loc: ∅ ├── predicate: @@ -20,14 +22,17 @@ │ └── block: ∅ └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ BeginNode (location: (1,0)-(1,14)) + ├── flags: newline ├── begin_keyword_loc: (1,0)-(1,5) = "begin" ├── statements: │ @ StatementsNode (location: (1,6)-(1,10)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ CallNode (location: (1,6)-(1,10)) - │ ├── flags: variable_call, ignore_visibility + │ ├── flags: newline, variable_call, ignore_visibility │ ├── receiver: ∅ │ ├── call_operator_loc: ∅ │ ├── name: :meth diff --git a/test/prism/snapshots/whitequark/xstring_interp.txt b/test/prism/snapshots/whitequark/xstring_interp.txt index 0676ea9683..7808b93250 100644 --- a/test/prism/snapshots/whitequark/xstring_interp.txt +++ b/test/prism/snapshots/whitequark/xstring_interp.txt @@ -1,21 +1,26 @@ @ ProgramNode (location: (1,0)-(1,14)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,14)) + ├── flags: ∅ └── body: (length: 1) └── @ InterpolatedXStringNode (location: (1,0)-(1,14)) + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "`" ├── parts: (length: 3) │ ├── @ StringNode (location: (1,1)-(1,4)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (1,1)-(1,4) = "foo" │ │ ├── closing_loc: ∅ │ │ └── unescaped: "foo" │ ├── @ EmbeddedStatementsNode (location: (1,4)-(1,10)) + │ │ ├── flags: ∅ │ │ ├── opening_loc: (1,4)-(1,6) = "\#{" │ │ ├── statements: │ │ │ @ StatementsNode (location: (1,6)-(1,9)) + │ │ │ ├── flags: ∅ │ │ │ └── body: (length: 1) │ │ │ └── @ CallNode (location: (1,6)-(1,9)) │ │ │ ├── flags: variable_call, ignore_visibility @@ -29,7 +34,7 @@ │ │ │ └── block: ∅ │ │ └── closing_loc: (1,9)-(1,10) = "}" │ └── @ StringNode (location: (1,10)-(1,13)) - │ ├── flags: frozen + │ ├── flags: static_literal, frozen │ ├── opening_loc: ∅ │ ├── content_loc: (1,10)-(1,13) = "baz" │ ├── closing_loc: ∅ diff --git a/test/prism/snapshots/whitequark/xstring_plain.txt b/test/prism/snapshots/whitequark/xstring_plain.txt index 97084286d9..dae47ddcff 100644 --- a/test/prism/snapshots/whitequark/xstring_plain.txt +++ b/test/prism/snapshots/whitequark/xstring_plain.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,8)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,8)) + ├── flags: ∅ └── body: (length: 1) └── @ XStringNode (location: (1,0)-(1,8)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "`" ├── content_loc: (1,1)-(1,7) = "foobar" ├── closing_loc: (1,7)-(1,8) = "`" diff --git a/test/prism/snapshots/whitequark/zsuper.txt b/test/prism/snapshots/whitequark/zsuper.txt index 9c28128d06..f64ecb3594 100644 --- a/test/prism/snapshots/whitequark/zsuper.txt +++ b/test/prism/snapshots/whitequark/zsuper.txt @@ -1,7 +1,10 @@ @ ProgramNode (location: (1,0)-(1,5)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,5)) + ├── flags: ∅ └── body: (length: 1) └── @ ForwardingSuperNode (location: (1,0)-(1,5)) + ├── flags: newline └── block: ∅ diff --git a/test/prism/snapshots/xstring.txt b/test/prism/snapshots/xstring.txt index 1a177026db..837cd581a4 100644 --- a/test/prism/snapshots/xstring.txt +++ b/test/prism/snapshots/xstring.txt @@ -1,27 +1,32 @@ @ ProgramNode (location: (1,0)-(13,4)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(13,4)) + ├── flags: ∅ └── body: (length: 6) ├── @ XStringNode (location: (1,0)-(1,7)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (1,0)-(1,3) = "%x[" │ ├── content_loc: (1,3)-(1,6) = "foo" │ ├── closing_loc: (1,6)-(1,7) = "]" │ └── unescaped: "foo" ├── @ InterpolatedXStringNode (location: (3,0)-(3,16)) + │ ├── flags: newline │ ├── opening_loc: (3,0)-(3,1) = "`" │ ├── parts: (length: 3) │ │ ├── @ StringNode (location: (3,1)-(3,5)) - │ │ │ ├── flags: frozen + │ │ │ ├── flags: static_literal, frozen │ │ │ ├── opening_loc: ∅ │ │ │ ├── content_loc: (3,1)-(3,5) = "foo " │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "foo " │ │ ├── @ EmbeddedStatementsNode (location: (3,5)-(3,11)) + │ │ │ ├── flags: ∅ │ │ │ ├── opening_loc: (3,5)-(3,7) = "\#{" │ │ │ ├── statements: │ │ │ │ @ StatementsNode (location: (3,7)-(3,10)) + │ │ │ │ ├── flags: ∅ │ │ │ │ └── body: (length: 1) │ │ │ │ └── @ CallNode (location: (3,7)-(3,10)) │ │ │ │ ├── flags: variable_call, ignore_visibility @@ -35,32 +40,32 @@ │ │ │ │ └── block: ∅ │ │ │ └── closing_loc: (3,10)-(3,11) = "}" │ │ └── @ StringNode (location: (3,11)-(3,15)) - │ │ ├── flags: frozen + │ │ ├── flags: static_literal, frozen │ │ ├── opening_loc: ∅ │ │ ├── content_loc: (3,11)-(3,15) = " baz" │ │ ├── closing_loc: ∅ │ │ └── unescaped: " baz" │ └── closing_loc: (3,15)-(3,16) = "`" ├── @ XStringNode (location: (5,0)-(5,5)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (5,0)-(5,1) = "`" │ ├── content_loc: (5,1)-(5,4) = "foo" │ ├── closing_loc: (5,4)-(5,5) = "`" │ └── unescaped: "foo" ├── @ XStringNode (location: (7,0)-(9,1)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (7,0)-(7,3) = "%x{" │ ├── content_loc: (7,3)-(9,0) = "\n foo\n" │ ├── closing_loc: (9,0)-(9,1) = "}" │ └── unescaped: "\n foo\n" ├── @ XStringNode (location: (11,0)-(11,2)) - │ ├── flags: ∅ + │ ├── flags: newline │ ├── opening_loc: (11,0)-(11,1) = "`" │ ├── content_loc: (11,1)-(11,1) = "" │ ├── closing_loc: (11,1)-(11,2) = "`" │ └── unescaped: "" └── @ XStringNode (location: (13,0)-(13,4)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (13,0)-(13,3) = "%x{" ├── content_loc: (13,3)-(13,3) = "" ├── closing_loc: (13,3)-(13,4) = "}" diff --git a/test/prism/snapshots/xstring_with_backslash.txt b/test/prism/snapshots/xstring_with_backslash.txt index 7e0fa1ab5f..ca58f5cd40 100644 --- a/test/prism/snapshots/xstring_with_backslash.txt +++ b/test/prism/snapshots/xstring_with_backslash.txt @@ -1,10 +1,12 @@ @ ProgramNode (location: (1,0)-(1,6)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(1,6)) + ├── flags: ∅ └── body: (length: 1) └── @ XStringNode (location: (1,0)-(1,6)) - ├── flags: ∅ + ├── flags: newline ├── opening_loc: (1,0)-(1,1) = "`" ├── content_loc: (1,1)-(1,5) = "f\\oo" ├── closing_loc: (1,5)-(1,6) = "`" diff --git a/test/prism/snapshots/yield.txt b/test/prism/snapshots/yield.txt index e9680c3b2d..c62751b8e6 100644 --- a/test/prism/snapshots/yield.txt +++ b/test/prism/snapshots/yield.txt @@ -1,17 +1,22 @@ @ ProgramNode (location: (1,0)-(7,28)) +├── flags: ∅ ├── locals: [] └── statements: @ StatementsNode (location: (1,0)-(7,28)) + ├── flags: ∅ └── body: (length: 4) ├── @ DefNode (location: (1,0)-(1,19)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (1,4)-(1,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (1,9)-(1,14)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ YieldNode (location: (1,9)-(1,14)) + │ │ ├── flags: newline │ │ ├── keyword_loc: (1,9)-(1,14) = "yield" │ │ ├── lparen_loc: ∅ │ │ ├── arguments: ∅ @@ -24,14 +29,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (1,16)-(1,19) = "end" ├── @ DefNode (location: (3,0)-(3,21)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (3,4)-(3,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (3,9)-(3,16)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ YieldNode (location: (3,9)-(3,16)) + │ │ ├── flags: newline │ │ ├── keyword_loc: (3,9)-(3,14) = "yield" │ │ ├── lparen_loc: (3,14)-(3,15) = "(" │ │ ├── arguments: ∅ @@ -44,14 +52,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (3,18)-(3,21) = "end" ├── @ DefNode (location: (5,0)-(5,22)) + │ ├── flags: newline │ ├── name: :foo │ ├── name_loc: (5,4)-(5,7) = "foo" │ ├── receiver: ∅ │ ├── parameters: ∅ │ ├── body: │ │ @ StatementsNode (location: (5,9)-(5,17)) + │ │ ├── flags: ∅ │ │ └── body: (length: 1) │ │ └── @ YieldNode (location: (5,9)-(5,17)) + │ │ ├── flags: newline │ │ ├── keyword_loc: (5,9)-(5,14) = "yield" │ │ ├── lparen_loc: (5,14)-(5,15) = "(" │ │ ├── arguments: @@ -59,7 +70,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ IntegerNode (location: (5,15)-(5,16)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ └── rparen_loc: (5,16)-(5,17) = ")" │ ├── locals: [] @@ -70,14 +81,17 @@ │ ├── equal_loc: ∅ │ └── end_keyword_loc: (5,19)-(5,22) = "end" └── @ DefNode (location: (7,0)-(7,28)) + ├── flags: newline ├── name: :foo ├── name_loc: (7,4)-(7,7) = "foo" ├── receiver: ∅ ├── parameters: ∅ ├── body: │ @ StatementsNode (location: (7,9)-(7,23)) + │ ├── flags: ∅ │ └── body: (length: 1) │ └── @ YieldNode (location: (7,9)-(7,23)) + │ ├── flags: newline │ ├── keyword_loc: (7,9)-(7,14) = "yield" │ ├── lparen_loc: (7,14)-(7,15) = "(" │ ├── arguments: @@ -85,13 +99,13 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 3) │ │ ├── @ IntegerNode (location: (7,15)-(7,16)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 1 │ │ ├── @ IntegerNode (location: (7,18)-(7,19)) - │ │ │ ├── flags: decimal + │ │ │ ├── flags: static_literal, decimal │ │ │ └── value: 2 │ │ └── @ IntegerNode (location: (7,21)-(7,22)) - │ │ ├── flags: decimal + │ │ ├── flags: static_literal, decimal │ │ └── value: 3 │ └── rparen_loc: (7,22)-(7,23) = ")" ├── locals: [] |