diff --git a/prism/config.yml b/prism/config.yml index d3b6b08709c492..7bbe88e6b4fa71 100644 --- a/prism/config.yml +++ b/prism/config.yml @@ -368,8 +368,8 @@ flags: comment: Flags for integer nodes that correspond to the base of the integer. - name: KeywordHashNodeFlags values: - - name: STATIC_KEYS - comment: "a keyword hash which only has `AssocNode` elements all with static literal keys, which means the elements can be treated as keyword arguments" + - name: SYMBOL_KEYS + comment: "a keyword hash which only has `AssocNode` elements all with symbol keys, which means the elements can be treated as keyword arguments" comment: Flags for keyword hash nodes. - name: LoopFlags values: diff --git a/prism/diagnostic.c b/prism/diagnostic.c index 1fc8c50cb51e39..fd5dce5a04ce0c 100644 --- a/prism/diagnostic.c +++ b/prism/diagnostic.c @@ -62,6 +62,7 @@ static const char* const diagnostic_messages[PM_DIAGNOSTIC_ID_LEN] = { [PM_ERR_ARGUMENT_FORMAL_GLOBAL] = "invalid formal argument; formal argument cannot be a global variable", [PM_ERR_ARGUMENT_FORMAL_IVAR] = "invalid formal argument; formal argument cannot be an instance variable", [PM_ERR_ARGUMENT_FORWARDING_UNBOUND] = "unexpected `...` in an non-parenthesized call", + [PM_ERR_ARGUMENT_IN] = "unexpected `in` keyword in arguments", [PM_ERR_ARGUMENT_NO_FORWARDING_AMP] = "unexpected `&` when the parent method is not forwarding", [PM_ERR_ARGUMENT_NO_FORWARDING_ELLIPSES] = "unexpected `...` when the parent method is not forwarding", [PM_ERR_ARGUMENT_NO_FORWARDING_STAR] = "unexpected `*` when the parent method is not forwarding", @@ -191,6 +192,7 @@ static const char* const diagnostic_messages[PM_DIAGNOSTIC_ID_LEN] = { [PM_ERR_MODULE_TERM] = "expected an `end` to close the `module` statement", [PM_ERR_MULTI_ASSIGN_MULTI_SPLATS] = "multiple splats in multiple assignment", [PM_ERR_NOT_EXPRESSION] = "expected an expression after `not`", + [PM_ERR_NO_LOCAL_VARIABLE] = "%.*s: no such local variable", [PM_ERR_NUMBER_LITERAL_UNDERSCORE] = "number literal ending with a `_`", [PM_ERR_NUMBERED_PARAMETER_NOT_ALLOWED] = "numbered parameters are not allowed when an ordinary parameter is defined", [PM_ERR_NUMBERED_PARAMETER_OUTER_SCOPE] = "numbered parameter is already used in outer scope", diff --git a/prism/diagnostic.h b/prism/diagnostic.h index fc1f0c2b4bb23a..08a3284abff299 100644 --- a/prism/diagnostic.h +++ b/prism/diagnostic.h @@ -53,6 +53,7 @@ typedef enum { PM_ERR_ARGUMENT_FORMAL_GLOBAL, PM_ERR_ARGUMENT_FORMAL_IVAR, PM_ERR_ARGUMENT_FORWARDING_UNBOUND, + PM_ERR_ARGUMENT_IN, PM_ERR_ARGUMENT_NO_FORWARDING_AMP, PM_ERR_ARGUMENT_NO_FORWARDING_ELLIPSES, PM_ERR_ARGUMENT_NO_FORWARDING_STAR, @@ -183,6 +184,7 @@ typedef enum { PM_ERR_MODULE_TERM, PM_ERR_MULTI_ASSIGN_MULTI_SPLATS, PM_ERR_NOT_EXPRESSION, + PM_ERR_NO_LOCAL_VARIABLE, PM_ERR_NUMBER_LITERAL_UNDERSCORE, PM_ERR_NUMBERED_PARAMETER_NOT_ALLOWED, PM_ERR_NUMBERED_PARAMETER_OUTER_SCOPE, diff --git a/prism/parser.h b/prism/parser.h index 7f26054f099bc9..2c58131b1966e8 100644 --- a/prism/parser.h +++ b/prism/parser.h @@ -17,12 +17,6 @@ #include -// TODO: remove this by renaming the original flag -/** - * Temporary alias for the PM_NODE_FLAG_STATIC_KEYS flag. - */ -#define PM_KEYWORD_HASH_NODE_FLAGS_SYMBOL_KEYS PM_KEYWORD_HASH_NODE_FLAGS_STATIC_KEYS - /** * This enum provides various bits that represent different kinds of states that * the lexer can track. This is used to determine which kind of token to return diff --git a/prism/prism.c b/prism/prism.c index 79258386d60316..ec319f2cac76f8 100644 --- a/prism/prism.c +++ b/prism/prism.c @@ -1340,6 +1340,11 @@ pm_assoc_node_create(pm_parser_t *parser, pm_node_t *key, const pm_token_t *oper flags = key->flags & value->flags & PM_NODE_FLAG_STATIC_LITERAL; } + // Hash string keys should be frozen + if (PM_NODE_TYPE_P(key, PM_STRING_NODE)) { + key->flags |= PM_STRING_FLAGS_FROZEN; + } + *node = (pm_assoc_node_t) { { .type = PM_ASSOC_NODE, @@ -11338,6 +11343,9 @@ parse_arguments(pm_parser_t *parser, pm_arguments_t *arguments, bool accepts_for } parsed_bare_hash = true; + } else if (accept1(parser, PM_TOKEN_KEYWORD_IN)) { + // TODO: Could we solve this with binding powers instead? + pm_parser_err_current(parser, PM_ERR_ARGUMENT_IN); } parse_arguments_append(parser, arguments, argument); @@ -13349,8 +13357,15 @@ parse_pattern_primitive(pm_parser_t *parser, pm_diagnostic_id_t diag_id) { // expression to determine if it's a variable or an expression. switch (parser->current.type) { case PM_TOKEN_IDENTIFIER: { + int depth = pm_parser_local_depth(parser, &parser->current); + + if (depth == -1) { + depth = 0; + PM_PARSER_ERR_TOKEN_FORMAT(parser, parser->current, PM_ERR_NO_LOCAL_VARIABLE, (int) (parser->current.end - parser->current.start), parser->current.start); + } + + pm_node_t *variable = (pm_node_t *) pm_local_variable_read_node_create(parser, &parser->current, (uint32_t) depth); parser_lex(parser); - pm_node_t *variable = (pm_node_t *) pm_local_variable_read_node_create(parser, &parser->previous, 0); return (pm_node_t *) pm_pinned_variable_node_create(parser, &operator, variable); } @@ -17175,9 +17190,14 @@ parse_expression(pm_parser_t *parser, pm_binding_power_t binding_power, bool acc static pm_node_t * parse_program(pm_parser_t *parser) { - pm_parser_scope_push(parser, !parser->current_scope); - parser_lex(parser); + // If the current scope is NULL, then we want to push a new top level scope. + // The current scope could exist in the event that we are parsing an eval + // and the user has passed into scopes that already exist. + if (parser->current_scope == NULL) { + pm_parser_scope_push(parser, true); + } + parser_lex(parser); pm_statements_node_t *statements = parse_statements(parser, PM_CONTEXT_MAIN); if (!statements) { statements = pm_statements_node_create(parser); diff --git a/prism/templates/lib/prism/node.rb.erb b/prism/templates/lib/prism/node.rb.erb index 87a94a033839bd..65a4f0fb703e60 100644 --- a/prism/templates/lib/prism/node.rb.erb +++ b/prism/templates/lib/prism/node.rb.erb @@ -44,11 +44,11 @@ module Prism <%- end -%> class <%= node.name -%> < Node <%- node.fields.each do |field| -%> - # attr_reader <%= field.name %>: <%= field.rbs_class %> + # <%= "private " if field.is_a?(Prism::FlagsField) %>attr_reader <%= field.name %>: <%= field.rbs_class %> <%= "private " if field.is_a?(Prism::FlagsField) %>attr_reader :<%= field.name %> <%- end -%> - # def initialize: (<%= (node.fields.map { |field| "#{field.name}: #{field.rbs_class}" } + ["location: Location"]).join(", ") %>) -> void + # def initialize: (<%= (node.fields.map { |field| "#{field.rbs_class} #{field.name}" } + ["Location location"]).join(", ") %>) -> void def initialize(<%= (node.fields.map(&:name) + ["location"]).join(", ") %>) <%- node.fields.each do |field| -%> @<%= field.name %> = <%= field.name %> @@ -56,7 +56,7 @@ module Prism @location = location end - # def accept: (visitor: Visitor) -> void + # def accept: (Visitor visitor) -> void def accept(visitor) visitor.visit_<%= node.human %>(self) end @@ -137,7 +137,7 @@ module Prism # def deconstruct: () -> Array[nil | Node] alias deconstruct child_nodes - # def deconstruct_keys: (keys: Array[Symbol]) -> Hash[Symbol, nil | Node | Array[Node] | String | Token | Array[Token] | Location] + # def deconstruct_keys: (Array[Symbol] keys) -> { <%= (node.fields.map { |field| "#{field.name}: #{field.rbs_class}" } + ["location: Location"]).join(", ") %> } def deconstruct_keys(keys) { <%= (node.fields.map { |field| "#{field.name}: #{field.name}" } + ["location: location"]).join(", ") %> } end @@ -170,7 +170,7 @@ module Prism <%- end -%> <%- end -%> - # def inspect(inspector: NodeInspector) -> String + # def inspect(NodeInspector inspector) -> String def inspect(inspector = NodeInspector.new) inspector << inspector.header(self) <%- node.fields.each_with_index do |field, index| -%> diff --git a/test/prism/errors_test.rb b/test/prism/errors_test.rb index 51ac7bc5cf1e28..57c0719aa72762 100644 --- a/test/prism/errors_test.rb +++ b/test/prism/errors_test.rb @@ -1997,6 +1997,21 @@ def test_range_and_bin_op end end + def test_command_call_in + source = <<~RUBY + foo 1 in a + a = foo 2 in b + RUBY + message1 = 'unexpected `in` keyword in arguments' + message2 = 'expected a newline or semicolon after the statement' + assert_errors expression(source), source, [ + [message1, 9..10], + [message2, 8..8], + [message1, 24..25], + [message2, 23..23], + ] + end + def test_constant_assignment_in_method source = 'def foo();A=1;end' assert_errors expression(source), source, [ diff --git a/test/prism/fixtures/patterns.txt b/test/prism/fixtures/patterns.txt index d73c8d025e04d4..dcd6786d4b65c0 100644 --- a/test/prism/fixtures/patterns.txt +++ b/test/prism/fixtures/patterns.txt @@ -51,7 +51,7 @@ foo => __LINE__ .. __LINE__ foo => __ENCODING__ .. __ENCODING__ foo => -> { bar } .. -> { bar } -foo => ^bar +bar = 1; foo => ^bar foo => ^@bar foo => ^@@bar foo => ^$bar diff --git a/test/prism/location_test.rb b/test/prism/location_test.rb index 809c1bd8ae5f05..e5b75469255e45 100644 --- a/test/prism/location_test.rb +++ b/test/prism/location_test.rb @@ -673,7 +673,7 @@ def test_PinnedExpressionNode end def test_PinnedVariableNode - assert_location(PinnedVariableNode, "foo in ^bar", 7...11, &:pattern) + assert_location(PinnedVariableNode, "bar = 1; foo in ^bar", 16...20, &:pattern) end def test_PostExecutionNode diff --git a/test/prism/ruby_api_test.rb b/test/prism/ruby_api_test.rb index 3bf89f3339bfe9..7bb80b481a9c3c 100644 --- a/test/prism/ruby_api_test.rb +++ b/test/prism/ruby_api_test.rb @@ -42,7 +42,9 @@ def test_options assert_kind_of Prism::CallNode, Prism.parse("foo").value.statements.body[0] assert_kind_of Prism::LocalVariableReadNode, Prism.parse("foo", scopes: [[:foo]]).value.statements.body[0] - assert_equal 2, Prism.parse("foo", scopes: [[:foo], []]).value.statements.body[0].depth + assert_equal 1, Prism.parse("foo", scopes: [[:foo], []]).value.statements.body[0].depth + + assert_equal [:foo], Prism.parse("foo", scopes: [[:foo]]).value.locals end def test_literal_value_method diff --git a/test/prism/snapshots/arrays.txt b/test/prism/snapshots/arrays.txt index d31cd7afc857a7..93f5c8fbc1a864 100644 --- a/test/prism/snapshots/arrays.txt +++ b/test/prism/snapshots/arrays.txt @@ -79,7 +79,7 @@ │ ├── flags: ∅ │ ├── elements: (length: 1) │ │ └── @ KeywordHashNode (location: (5,1)-(5,12)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (5,1)-(5,12)) │ │ ├── key: diff --git a/test/prism/snapshots/if.txt b/test/prism/snapshots/if.txt index 6733e57bed1f3b..a5ffeac2c25cad 100644 --- a/test/prism/snapshots/if.txt +++ b/test/prism/snapshots/if.txt @@ -250,7 +250,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ KeywordHashNode (location: (25,4)-(25,6)) - │ │ │ ├── flags: static_keys + │ │ │ ├── flags: symbol_keys │ │ │ └── elements: (length: 1) │ │ │ └── @ AssocNode (location: (25,4)-(25,6)) │ │ │ ├── key: diff --git a/test/prism/snapshots/method_calls.txt b/test/prism/snapshots/method_calls.txt index 65f0d1df165adb..f8de181d3229c7 100644 --- a/test/prism/snapshots/method_calls.txt +++ b/test/prism/snapshots/method_calls.txt @@ -782,7 +782,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ KeywordHashNode (location: (60,8)-(60,32)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 2) │ │ ├── @ AssocNode (location: (60,8)-(60,22)) │ │ │ ├── key: @@ -914,7 +914,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ KeywordHashNode (location: (64,8)-(64,15)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (64,8)-(64,15)) │ │ ├── key: @@ -983,7 +983,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (66,3)-(66,17)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (66,3)-(66,17)) │ │ ├── key: @@ -1173,7 +1173,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (74,3)-(74,20)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (74,3)-(74,20)) │ │ ├── key: @@ -1236,7 +1236,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "a" │ │ └── @ KeywordHashNode (location: (82,0)-(82,5)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (82,0)-(82,5)) │ │ ├── key: @@ -1287,7 +1287,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (87,4)-(87,21)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 2) │ │ ├── @ AssocNode (location: (87,4)-(87,11)) │ │ │ ├── key: @@ -1336,7 +1336,7 @@ │ │ ├── @ IntegerNode (location: (89,10)-(89,11)) │ │ │ └── flags: decimal │ │ └── @ KeywordHashNode (location: (89,13)-(89,21)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (89,13)-(89,21)) │ │ ├── key: @@ -1527,7 +1527,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (103,4)-(103,11)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (103,4)-(103,11)) │ │ ├── key: @@ -1555,7 +1555,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (105,4)-(105,28)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (105,4)-(105,28)) │ │ ├── key: @@ -1612,7 +1612,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (107,4)-(107,24)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (107,4)-(107,24)) │ │ ├── key: diff --git a/test/prism/snapshots/patterns.txt b/test/prism/snapshots/patterns.txt index aacdbb250e4c96..13179be338ddc3 100644 --- a/test/prism/snapshots/patterns.txt +++ b/test/prism/snapshots/patterns.txt @@ -2,7 +2,7 @@ ├── locals: [:bar, :baz, :qux, :b, :a, :foo, :x] └── statements: @ StatementsNode (location: (1,0)-(202,19)) - └── body: (length: 175) + └── body: (length: 176) ├── @ MatchRequiredNode (location: (1,0)-(1,10)) │ ├── value: │ │ @ CallNode (location: (1,0)-(1,3)) @@ -1235,26 +1235,34 @@ │ │ │ └── depth: 1 │ │ └── operator_loc: (52,18)-(52,20) = ".." │ └── operator_loc: (52,4)-(52,6) = "=>" - ├── @ MatchRequiredNode (location: (54,0)-(54,11)) + ├── @ LocalVariableWriteNode (location: (54,0)-(54,7)) + │ ├── name: :bar + │ ├── depth: 0 + │ ├── name_loc: (54,0)-(54,3) = "bar" │ ├── value: - │ │ @ CallNode (location: (54,0)-(54,3)) + │ │ @ IntegerNode (location: (54,6)-(54,7)) + │ │ └── flags: decimal + │ └── operator_loc: (54,4)-(54,5) = "=" + ├── @ MatchRequiredNode (location: (54,9)-(54,20)) + │ ├── value: + │ │ @ CallNode (location: (54,9)-(54,12)) │ │ ├── flags: variable_call │ │ ├── receiver: ∅ │ │ ├── call_operator_loc: ∅ │ │ ├── name: :foo - │ │ ├── message_loc: (54,0)-(54,3) = "foo" + │ │ ├── message_loc: (54,9)-(54,12) = "foo" │ │ ├── opening_loc: ∅ │ │ ├── arguments: ∅ │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ ├── pattern: - │ │ @ PinnedVariableNode (location: (54,7)-(54,11)) + │ │ @ PinnedVariableNode (location: (54,16)-(54,20)) │ │ ├── variable: - │ │ │ @ LocalVariableReadNode (location: (54,8)-(54,11)) + │ │ │ @ LocalVariableReadNode (location: (54,17)-(54,20)) │ │ │ ├── name: :bar │ │ │ └── depth: 0 - │ │ └── operator_loc: (54,7)-(54,8) = "^" - │ └── operator_loc: (54,4)-(54,6) = "=>" + │ │ └── operator_loc: (54,16)-(54,17) = "^" + │ └── operator_loc: (54,13)-(54,15) = "=>" ├── @ MatchRequiredNode (location: (55,0)-(55,12)) │ ├── value: │ │ @ CallNode (location: (55,0)-(55,3)) diff --git a/test/prism/snapshots/rescue.txt b/test/prism/snapshots/rescue.txt index 3f9dc426a2fd9e..12607e8be2eaab 100644 --- a/test/prism/snapshots/rescue.txt +++ b/test/prism/snapshots/rescue.txt @@ -343,7 +343,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ KeywordHashNode (location: (29,4)-(29,6)) - │ │ │ ├── flags: static_keys + │ │ │ ├── flags: symbol_keys │ │ │ └── elements: (length: 1) │ │ │ └── @ AssocNode (location: (29,4)-(29,6)) │ │ │ ├── key: diff --git a/test/prism/snapshots/seattlerb/assoc_label.txt b/test/prism/snapshots/seattlerb/assoc_label.txt index 1d65eef3f9d72c..c8526358f544d6 100644 --- a/test/prism/snapshots/seattlerb/assoc_label.txt +++ b/test/prism/snapshots/seattlerb/assoc_label.txt @@ -15,7 +15,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (1,2)-(1,5)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,5)) │ ├── key: diff --git a/test/prism/snapshots/seattlerb/bug_249.txt b/test/prism/snapshots/seattlerb/bug_249.txt index 4c684f32dcd6c8..c29349142924f2 100644 --- a/test/prism/snapshots/seattlerb/bug_249.txt +++ b/test/prism/snapshots/seattlerb/bug_249.txt @@ -66,7 +66,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── @ KeywordHashNode (location: (4,11)-(4,28)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (4,11)-(4,28)) │ ├── key: diff --git a/test/prism/snapshots/seattlerb/bug_hash_args.txt b/test/prism/snapshots/seattlerb/bug_hash_args.txt index cea1fc8db00e85..7900bbe0d1a5e5 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_args.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_args.txt @@ -21,7 +21,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "bar" │ └── @ KeywordHashNode (location: (1,10)-(1,18)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,10)-(1,18)) │ ├── key: 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 e4c2a10f2ea6e0..2b2b24622697a1 100644 --- a/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt +++ b/test/prism/snapshots/seattlerb/bug_hash_args_trailing_comma.txt @@ -21,7 +21,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "bar" │ └── @ KeywordHashNode (location: (1,10)-(1,18)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,10)-(1,18)) │ ├── key: diff --git a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt index 958231a21a708a..9426531d5cada2 100644 --- a/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt +++ b/test/prism/snapshots/seattlerb/call_args_assoc_quoted.txt @@ -57,7 +57,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (3,2)-(3,8)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (3,2)-(3,8)) │ │ ├── key: @@ -85,7 +85,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (5,2)-(5,8)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (5,2)-(5,8)) │ ├── key: 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 f8cde2f6a9fda4..f572729b8ac081 100644 --- a/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt +++ b/test/prism/snapshots/seattlerb/call_array_lit_inline_hash.txt @@ -24,7 +24,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── unescaped: "b" │ │ └── @ KeywordHashNode (location: (1,7)-(1,14)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,7)-(1,14)) │ │ ├── key: diff --git a/test/prism/snapshots/seattlerb/call_assoc_new.txt b/test/prism/snapshots/seattlerb/call_assoc_new.txt index 6d121252607452..decf68ae6eba34 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_new.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_new.txt @@ -15,7 +15,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (1,2)-(1,5)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(1,5)) │ ├── key: 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 1c079f9d1d9db2..c9e0ff969304f8 100644 --- a/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt +++ b/test/prism/snapshots/seattlerb/call_assoc_new_if_multiline.txt @@ -15,7 +15,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (1,2)-(5,3)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,2)-(5,3)) │ ├── key: diff --git a/test/prism/snapshots/seattlerb/difficult2_.txt b/test/prism/snapshots/seattlerb/difficult2_.txt index a81b0ce45884ea..72cac371f7fe25 100644 --- a/test/prism/snapshots/seattlerb/difficult2_.txt +++ b/test/prism/snapshots/seattlerb/difficult2_.txt @@ -53,7 +53,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (2,2)-(2,6)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (2,2)-(2,6)) │ ├── key: diff --git a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt index efa6fa242ddd82..f377bda17cfd40 100644 --- a/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt +++ b/test/prism/snapshots/seattlerb/multiline_hash_declaration.txt @@ -15,7 +15,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (1,2)-(3,1)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,2)-(3,1)) │ │ ├── key: @@ -45,7 +45,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (5,2)-(6,1)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (5,2)-(6,1)) │ │ ├── key: @@ -75,7 +75,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (8,2)-(8,11)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (8,2)-(8,11)) │ ├── key: diff --git a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt index 59bd8f0220fa62..8730eb19117cd7 100644 --- a/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt +++ b/test/prism/snapshots/seattlerb/quoted_symbol_hash_arg.txt @@ -15,7 +15,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (1,5)-(1,12)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,5)-(1,12)) │ ├── key: diff --git a/test/prism/snapshots/seattlerb/return_call_assocs.txt b/test/prism/snapshots/seattlerb/return_call_assocs.txt index 8baf6c4c7e06ac..98b7943bac4b05 100644 --- a/test/prism/snapshots/seattlerb/return_call_assocs.txt +++ b/test/prism/snapshots/seattlerb/return_call_assocs.txt @@ -12,7 +12,7 @@ │ ├── @ IntegerNode (location: (1,7)-(1,8)) │ │ └── flags: decimal │ └── @ KeywordHashNode (location: (1,10)-(1,17)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,10)-(1,17)) │ ├── key: @@ -35,7 +35,7 @@ │ ├── @ IntegerNode (location: (3,7)-(3,8)) │ │ └── flags: decimal │ └── @ KeywordHashNode (location: (3,10)-(3,26)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 2) │ ├── @ AssocNode (location: (3,10)-(3,17)) │ │ ├── key: @@ -79,7 +79,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (5,9)-(5,14)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (5,9)-(5,14)) │ │ ├── key: @@ -113,7 +113,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (7,9)-(7,12)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (7,9)-(7,12)) │ │ ├── key: @@ -147,7 +147,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (9,9)-(9,12)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (9,9)-(9,12)) │ │ ├── key: diff --git a/test/prism/snapshots/seattlerb/yield_call_assocs.txt b/test/prism/snapshots/seattlerb/yield_call_assocs.txt index 82d1765f210c36..95d64eaaefae27 100644 --- a/test/prism/snapshots/seattlerb/yield_call_assocs.txt +++ b/test/prism/snapshots/seattlerb/yield_call_assocs.txt @@ -13,7 +13,7 @@ │ │ ├── @ IntegerNode (location: (1,6)-(1,7)) │ │ │ └── flags: decimal │ │ └── @ KeywordHashNode (location: (1,9)-(1,16)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,9)-(1,16)) │ │ ├── key: @@ -38,7 +38,7 @@ │ │ ├── @ IntegerNode (location: (3,6)-(3,7)) │ │ │ └── flags: decimal │ │ └── @ KeywordHashNode (location: (3,9)-(3,25)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 2) │ │ ├── @ AssocNode (location: (3,9)-(3,16)) │ │ │ ├── key: @@ -84,7 +84,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ KeywordHashNode (location: (5,8)-(5,13)) - │ │ │ ├── flags: static_keys + │ │ │ ├── flags: symbol_keys │ │ │ └── elements: (length: 1) │ │ │ └── @ AssocNode (location: (5,8)-(5,13)) │ │ │ ├── key: @@ -120,7 +120,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ KeywordHashNode (location: (7,8)-(7,11)) - │ │ │ ├── flags: static_keys + │ │ │ ├── flags: symbol_keys │ │ │ └── elements: (length: 1) │ │ │ └── @ AssocNode (location: (7,8)-(7,11)) │ │ │ ├── key: @@ -156,7 +156,7 @@ │ │ │ ├── flags: ∅ │ │ │ └── arguments: (length: 1) │ │ │ └── @ KeywordHashNode (location: (9,8)-(9,11)) - │ │ │ ├── flags: static_keys + │ │ │ ├── flags: symbol_keys │ │ │ └── elements: (length: 1) │ │ │ └── @ AssocNode (location: (9,8)-(9,11)) │ │ │ ├── key: diff --git a/test/prism/snapshots/unparser/corpus/literal/literal.txt b/test/prism/snapshots/unparser/corpus/literal/literal.txt index 21ae9f670b74ac..a26b9251963980 100644 --- a/test/prism/snapshots/unparser/corpus/literal/literal.txt +++ b/test/prism/snapshots/unparser/corpus/literal/literal.txt @@ -9,7 +9,7 @@ │ │ ├── @ AssocNode (location: (1,2)-(1,21)) │ │ │ ├── key: │ │ │ │ @ StringNode (location: (1,2)-(1,7)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: frozen │ │ │ │ ├── opening_loc: (1,2)-(1,3) = "\"" │ │ │ │ ├── content_loc: (1,3)-(1,6) = "foo" │ │ │ │ ├── closing_loc: (1,6)-(1,7) = "\"" @@ -39,7 +39,7 @@ │ │ └── @ AssocNode (location: (1,23)-(1,36)) │ │ ├── key: │ │ │ @ StringNode (location: (1,23)-(1,28)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: frozen │ │ │ ├── opening_loc: (1,23)-(1,24) = "\"" │ │ │ ├── content_loc: (1,24)-(1,27) = "bar" │ │ │ ├── closing_loc: (1,27)-(1,28) = "\"" @@ -59,7 +59,7 @@ │ │ ├── @ AssocNode (location: (4,2)-(4,14)) │ │ │ ├── key: │ │ │ │ @ StringNode (location: (4,2)-(4,7)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: frozen │ │ │ │ ├── opening_loc: (4,2)-(4,3) = "\"" │ │ │ │ ├── content_loc: (4,3)-(4,6) = "foo" │ │ │ │ ├── closing_loc: (4,6)-(4,7) = "\"" @@ -75,7 +75,7 @@ │ │ └── @ AssocNode (location: (4,16)-(4,29)) │ │ ├── key: │ │ │ @ StringNode (location: (4,16)-(4,21)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: frozen │ │ │ ├── opening_loc: (4,16)-(4,17) = "\"" │ │ │ ├── content_loc: (4,17)-(4,20) = "bar" │ │ │ ├── closing_loc: (4,20)-(4,21) = "\"" @@ -184,7 +184,7 @@ │ │ ├── @ AssocNode (location: (10,2)-(10,21)) │ │ │ ├── key: │ │ │ │ @ StringNode (location: (10,2)-(10,7)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: frozen │ │ │ │ ├── opening_loc: (10,2)-(10,3) = "\"" │ │ │ │ ├── content_loc: (10,3)-(10,6) = "foo" │ │ │ │ ├── closing_loc: (10,6)-(10,7) = "\"" @@ -231,7 +231,7 @@ │ │ ├── @ AssocNode (location: (13,2)-(13,14)) │ │ │ ├── key: │ │ │ │ @ StringNode (location: (13,2)-(13,7)) - │ │ │ │ ├── flags: ∅ + │ │ │ │ ├── flags: frozen │ │ │ │ ├── opening_loc: (13,2)-(13,3) = "\"" │ │ │ │ ├── content_loc: (13,3)-(13,6) = "foo" │ │ │ │ ├── closing_loc: (13,6)-(13,7) = "\"" diff --git a/test/prism/snapshots/unparser/corpus/literal/send.txt b/test/prism/snapshots/unparser/corpus/literal/send.txt index a96937e87ee7e6..edfd0cc6ae60aa 100644 --- a/test/prism/snapshots/unparser/corpus/literal/send.txt +++ b/test/prism/snapshots/unparser/corpus/literal/send.txt @@ -1249,7 +1249,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (63,8)-(63,16)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (63,8)-(63,16)) │ │ ├── key: @@ -1310,7 +1310,7 @@ │ │ └── @ AssocNode (location: (64,13)-(64,25)) │ │ ├── key: │ │ │ @ StringNode (location: (64,13)-(64,18)) - │ │ │ ├── flags: ∅ + │ │ │ ├── flags: frozen │ │ │ ├── opening_loc: (64,13)-(64,14) = "\"" │ │ │ ├── content_loc: (64,14)-(64,17) = "baz" │ │ │ ├── closing_loc: (64,17)-(64,18) = "\"" @@ -1569,7 +1569,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (70,4)-(70,8)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (70,4)-(70,8)) │ │ ├── key: @@ -1615,7 +1615,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (71,6)-(71,10)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (71,6)-(71,10)) │ │ ├── key: diff --git a/test/prism/snapshots/whitequark/args_args_assocs.txt b/test/prism/snapshots/whitequark/args_args_assocs.txt index d5c0d7d13671de..3d467e39a52376 100644 --- a/test/prism/snapshots/whitequark/args_args_assocs.txt +++ b/test/prism/snapshots/whitequark/args_args_assocs.txt @@ -25,7 +25,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ KeywordHashNode (location: (1,9)-(1,18)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,9)-(1,18)) │ │ ├── key: @@ -63,7 +63,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── @ KeywordHashNode (location: (3,9)-(3,18)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (3,9)-(3,18)) │ ├── key: diff --git a/test/prism/snapshots/whitequark/args_args_assocs_comma.txt b/test/prism/snapshots/whitequark/args_args_assocs_comma.txt index 2aa16446107977..7b74a1886c0968 100644 --- a/test/prism/snapshots/whitequark/args_args_assocs_comma.txt +++ b/test/prism/snapshots/whitequark/args_args_assocs_comma.txt @@ -35,7 +35,7 @@ │ │ ├── closing_loc: ∅ │ │ └── block: ∅ │ └── @ KeywordHashNode (location: (1,9)-(1,18)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,9)-(1,18)) │ ├── key: diff --git a/test/prism/snapshots/whitequark/args_assocs.txt b/test/prism/snapshots/whitequark/args_assocs.txt index bf51dda187b019..e4acaca435bb56 100644 --- a/test/prism/snapshots/whitequark/args_assocs.txt +++ b/test/prism/snapshots/whitequark/args_assocs.txt @@ -15,7 +15,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (1,4)-(1,13)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,4)-(1,13)) │ │ ├── key: @@ -43,7 +43,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (3,4)-(3,13)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (3,4)-(3,13)) │ │ ├── key: @@ -95,7 +95,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (5,14)-(5,21)) │ │ ├── key: @@ -124,7 +124,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (7,5)-(7,14)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (7,5)-(7,14)) │ │ ├── key: @@ -148,7 +148,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (9,6)-(9,16)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (9,6)-(9,16)) │ │ ├── key: @@ -172,7 +172,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (11,6)-(11,16)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (11,6)-(11,16)) │ ├── key: diff --git a/test/prism/snapshots/whitequark/args_assocs_comma.txt b/test/prism/snapshots/whitequark/args_assocs_comma.txt index b98aa39cb778eb..0ced5c7bc67f24 100644 --- a/test/prism/snapshots/whitequark/args_assocs_comma.txt +++ b/test/prism/snapshots/whitequark/args_assocs_comma.txt @@ -25,7 +25,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (1,4)-(1,13)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,4)-(1,13)) │ ├── key: diff --git a/test/prism/snapshots/whitequark/args_assocs_legacy.txt b/test/prism/snapshots/whitequark/args_assocs_legacy.txt index bf51dda187b019..e4acaca435bb56 100644 --- a/test/prism/snapshots/whitequark/args_assocs_legacy.txt +++ b/test/prism/snapshots/whitequark/args_assocs_legacy.txt @@ -15,7 +15,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (1,4)-(1,13)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,4)-(1,13)) │ │ ├── key: @@ -43,7 +43,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (3,4)-(3,13)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (3,4)-(3,13)) │ │ ├── key: @@ -95,7 +95,7 @@ │ │ │ ├── closing_loc: ∅ │ │ │ └── block: ∅ │ │ └── @ KeywordHashNode (location: (5,14)-(5,21)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (5,14)-(5,21)) │ │ ├── key: @@ -124,7 +124,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (7,5)-(7,14)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (7,5)-(7,14)) │ │ ├── key: @@ -148,7 +148,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (9,6)-(9,16)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (9,6)-(9,16)) │ │ ├── key: @@ -172,7 +172,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (11,6)-(11,16)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (11,6)-(11,16)) │ ├── key: diff --git a/test/prism/snapshots/whitequark/bug_cmdarg.txt b/test/prism/snapshots/whitequark/bug_cmdarg.txt index 6779d117351c15..428d061ee41402 100644 --- a/test/prism/snapshots/whitequark/bug_cmdarg.txt +++ b/test/prism/snapshots/whitequark/bug_cmdarg.txt @@ -15,7 +15,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (1,7)-(1,15)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,7)-(1,15)) │ │ ├── key: @@ -65,7 +65,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (5,2)-(5,26)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (5,2)-(5,26)) │ ├── key: diff --git a/test/prism/snapshots/whitequark/keyword_argument_omission.txt b/test/prism/snapshots/whitequark/keyword_argument_omission.txt index 3ff3f9a176ed6d..afcfd87c49e809 100644 --- a/test/prism/snapshots/whitequark/keyword_argument_omission.txt +++ b/test/prism/snapshots/whitequark/keyword_argument_omission.txt @@ -15,7 +15,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (1,4)-(1,10)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 2) │ ├── @ AssocNode (location: (1,4)-(1,6)) │ │ ├── key: diff --git a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt index 0e036fbd85f0e7..5f5c1e406c2aa8 100644 --- a/test/prism/snapshots/whitequark/newline_in_hash_argument.txt +++ b/test/prism/snapshots/whitequark/newline_in_hash_argument.txt @@ -93,7 +93,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (10,8)-(11,1)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (10,8)-(11,1)) │ │ ├── key: @@ -131,7 +131,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (13,8)-(14,1)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (13,8)-(14,1)) │ ├── key: diff --git a/test/prism/snapshots/whitequark/parser_bug_525.txt b/test/prism/snapshots/whitequark/parser_bug_525.txt index 087cc76e1b04d7..7289bdf81b54ae 100644 --- a/test/prism/snapshots/whitequark/parser_bug_525.txt +++ b/test/prism/snapshots/whitequark/parser_bug_525.txt @@ -15,7 +15,7 @@ │ ├── flags: ∅ │ └── arguments: (length: 1) │ └── @ KeywordHashNode (location: (1,3)-(1,11)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,3)-(1,11)) │ ├── key: diff --git a/test/prism/snapshots/whitequark/ruby_bug_11380.txt b/test/prism/snapshots/whitequark/ruby_bug_11380.txt index cd2939f8bb2f58..7ab13b891ef14e 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_11380.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_11380.txt @@ -31,7 +31,7 @@ │ │ ├── closing_loc: ∅ │ │ └── unescaped: "hello" │ └── @ KeywordHashNode (location: (1,17)-(1,21)) - │ ├── flags: static_keys + │ ├── flags: symbol_keys │ └── elements: (length: 1) │ └── @ AssocNode (location: (1,17)-(1,21)) │ ├── key: diff --git a/test/prism/snapshots/whitequark/ruby_bug_12073.txt b/test/prism/snapshots/whitequark/ruby_bug_12073.txt index 521df7a0135c61..27f2838bce3e1a 100644 --- a/test/prism/snapshots/whitequark/ruby_bug_12073.txt +++ b/test/prism/snapshots/whitequark/ruby_bug_12073.txt @@ -23,7 +23,7 @@ │ │ ├── flags: ∅ │ │ └── arguments: (length: 1) │ │ └── @ KeywordHashNode (location: (1,9)-(1,13)) - │ │ ├── flags: static_keys + │ │ ├── flags: symbol_keys │ │ └── elements: (length: 1) │ │ └── @ AssocNode (location: (1,9)-(1,13)) │ │ ├── key: