Skip to content

Commit

Permalink
Flip incorrect names of OptionalKeywordParameterNode and RequiredKeyw…
Browse files Browse the repository at this point in the history
…ordParameterNode
  • Loading branch information
jemmaissroff committed Nov 1, 2023
1 parent 89084d9 commit c31f61e
Show file tree
Hide file tree
Showing 38 changed files with 100 additions and 100 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a

### Changed

- **BREAKING**: `KeywordParameterNode` is split into `OptionalKeywordParameterNode` and `RequiredKeywordParameterNode`. `OptionalKeywordParameterNode` has no `value` field.
- **BREAKING**: `KeywordParameterNode` is split into `OptionalKeywordParameterNode` and `RequiredKeywordParameterNode`. `RequiredKeywordParameterNode` has no `value` field.

## [0.16.0] - 2023-10-30

Expand Down
12 changes: 6 additions & 6 deletions config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -1985,11 +1985,13 @@ nodes:
type: constant
- name: name_loc
type: location
- name: value
type: node
comment: |
Represents an optional keyword parameter to a method, block, or lambda definition.
def a(b: )
^^
def a(b: 1)
^^^^
end
- name: OptionalParameterNode
fields:
Expand Down Expand Up @@ -2184,13 +2186,11 @@ nodes:
type: constant
- name: name_loc
type: location
- name: value
type: node
comment: |
Represents a required keyword parameter to a method, block, or lambda definition.
def a(b: 1)
^^^^
def a(b: )
^^
end
- name: RequiredParameterNode
fields:
Expand Down
4 changes: 2 additions & 2 deletions lib/prism/debug.rb
Original file line number Diff line number Diff line change
Expand Up @@ -114,8 +114,8 @@ def self.prism_locals(source)
AnonymousLocal
end
end,
*params.keywords.select { |kw| kw.is_a? OptionalKeywordParameterNode }.map(&:name),
*params.keywords.select { |kw| kw.is_a? RequiredKeywordParameterNode }.map(&:name),
*params.keywords.grep(RequiredKeywordParameterNode).map(&:name),
*params.keywords.grep(OptionalKeywordParameterNode).map(&:name),
]

sorted << AnonymousLocal if params.keywords.any?
Expand Down
32 changes: 16 additions & 16 deletions src/prism.c
Original file line number Diff line number Diff line change
Expand Up @@ -3326,14 +3326,14 @@ pm_keyword_hash_node_elements_append(pm_keyword_hash_node_t *hash, pm_node_t *el
hash->base.location.end = element->location.end;
}

// Allocate a new OptionalKeywordParameterNode node.
static pm_optional_keyword_parameter_node_t *
pm_optional_keyword_parameter_node_create(pm_parser_t *parser, const pm_token_t *name) {
pm_optional_keyword_parameter_node_t *node = PM_ALLOC_NODE(parser, pm_optional_keyword_parameter_node_t);
// Allocate a new RequiredKeywordParameterNode node.
static pm_required_keyword_parameter_node_t *
pm_required_keyword_parameter_node_create(pm_parser_t *parser, const pm_token_t *name) {
pm_required_keyword_parameter_node_t *node = PM_ALLOC_NODE(parser, pm_required_keyword_parameter_node_t);

*node = (pm_optional_keyword_parameter_node_t) {
*node = (pm_required_keyword_parameter_node_t) {
{
.type = PM_OPTIONAL_KEYWORD_PARAMETER_NODE,
.type = PM_REQUIRED_KEYWORD_PARAMETER_NODE,
.location = {
.start = name->start,
.end = name->end
Expand All @@ -3346,14 +3346,14 @@ pm_optional_keyword_parameter_node_create(pm_parser_t *parser, const pm_token_t
return node;
}

// Allocate a new RequiredKeywordParameterNode node.
static pm_required_keyword_parameter_node_t *
pm_required_keyword_parameter_node_create(pm_parser_t *parser, const pm_token_t *name, pm_node_t *value) {
pm_required_keyword_parameter_node_t *node = PM_ALLOC_NODE(parser, pm_required_keyword_parameter_node_t);
// Allocate a new OptionalKeywordParameterNode node.
static pm_optional_keyword_parameter_node_t *
pm_optional_keyword_parameter_node_create(pm_parser_t *parser, const pm_token_t *name, pm_node_t *value) {
pm_optional_keyword_parameter_node_t *node = PM_ALLOC_NODE(parser, pm_optional_keyword_parameter_node_t);

*node = (pm_required_keyword_parameter_node_t) {
*node = (pm_optional_keyword_parameter_node_t) {
{
.type = PM_REQUIRED_KEYWORD_PARAMETER_NODE,
.type = PM_OPTIONAL_KEYWORD_PARAMETER_NODE,
.location = {
.start = name->start,
.end = value->location.end
Expand Down Expand Up @@ -10502,7 +10502,7 @@ parse_parameters(
case PM_TOKEN_COMMA:
case PM_TOKEN_PARENTHESIS_RIGHT:
case PM_TOKEN_PIPE: {
pm_node_t *param = (pm_node_t *) pm_optional_keyword_parameter_node_create(parser, &name);
pm_node_t *param = (pm_node_t *) pm_required_keyword_parameter_node_create(parser, &name);
pm_parameters_node_keywords_append(params, param);
break;
}
Expand All @@ -10513,7 +10513,7 @@ parse_parameters(
break;
}

pm_node_t *param = (pm_node_t *) pm_optional_keyword_parameter_node_create(parser, &name);
pm_node_t *param = (pm_node_t *) pm_required_keyword_parameter_node_create(parser, &name);
pm_parameters_node_keywords_append(params, param);
break;
}
Expand All @@ -10524,10 +10524,10 @@ parse_parameters(
context_push(parser, PM_CONTEXT_DEFAULT_PARAMS);
pm_node_t *value = parse_expression(parser, binding_power, PM_ERR_PARAMETER_NO_DEFAULT_KW);
context_pop(parser);
param = (pm_node_t *) pm_required_keyword_parameter_node_create(parser, &name, value);
param = (pm_node_t *) pm_optional_keyword_parameter_node_create(parser, &name, value);
}
else {
param = (pm_node_t *) pm_optional_keyword_parameter_node_create(parser, &name);
param = (pm_node_t *) pm_required_keyword_parameter_node_create(parser, &name);
}

pm_parameters_node_keywords_append(params, param);
Expand Down
10 changes: 5 additions & 5 deletions test/prism/errors_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -746,7 +746,7 @@ def test_keywords_parameters_before_required_parameters
[],
nil,
[RequiredParameterNode(:a)],
[OptionalKeywordParameterNode(:b, Location())],
[RequiredKeywordParameterNode(:b, Location())],
nil,
nil
),
Expand Down Expand Up @@ -774,7 +774,7 @@ def test_rest_keywords_parameters_before_required_parameters
[],
nil,
[],
[OptionalKeywordParameterNode(:b, Location())],
[RequiredKeywordParameterNode(:b, Location())],
KeywordRestParameterNode(:rest, Location(), Location()),
nil
),
Expand Down Expand Up @@ -824,7 +824,7 @@ def test_multiple_error_in_parameters_order
[],
nil,
[RequiredParameterNode(:a)],
[OptionalKeywordParameterNode(:b, Location())],
[RequiredKeywordParameterNode(:b, Location())],
KeywordRestParameterNode(:args, Location(), Location()),
nil
),
Expand Down Expand Up @@ -854,7 +854,7 @@ def test_switching_to_optional_arguments_twice
[],
nil,
[RequiredParameterNode(:a)],
[OptionalKeywordParameterNode(:b, Location())],
[RequiredKeywordParameterNode(:b, Location())],
KeywordRestParameterNode(:args, Location(), Location()),
nil
),
Expand Down Expand Up @@ -884,7 +884,7 @@ def test_switching_to_named_arguments_twice
[],
nil,
[RequiredParameterNode(:a)],
[OptionalKeywordParameterNode(:b, Location())],
[RequiredKeywordParameterNode(:b, Location())],
KeywordRestParameterNode(:args, Location(), Location()),
nil
),
Expand Down
4 changes: 2 additions & 2 deletions test/prism/location_test.rb
Original file line number Diff line number Diff line change
Expand Up @@ -600,7 +600,7 @@ def test_NumberedReferenceReadNode
end

def test_OptionalKeywordParameterNode
assert_location(OptionalKeywordParameterNode, "def foo(bar:); end", 8...12) do |node|
assert_location(OptionalKeywordParameterNode, "def foo(bar: nil); end", 8...16) do |node|
node.parameters.keywords.first
end
end
Expand Down Expand Up @@ -670,7 +670,7 @@ def test_RegularExpressionNode
end

def test_RequiredKeywordParameterNode
assert_location(RequiredKeywordParameterNode, "def foo(bar: nil); end", 8...16) do |node|
assert_location(RequiredKeywordParameterNode, "def foo(bar:); end", 8...12) do |node|
node.parameters.keywords.first
end
end
Expand Down
6 changes: 3 additions & 3 deletions test/prism/snapshots/blocks.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions test/prism/snapshots/lambda.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 11 additions & 11 deletions test/prism/snapshots/methods.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions test/prism/snapshots/procs.txt

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit c31f61e

Please sign in to comment.