Skip to content

Commit c31f61e

Browse files
committed
Flip incorrect names of OptionalKeywordParameterNode and RequiredKeywordParameterNode
1 parent 89084d9 commit c31f61e

38 files changed

+100
-100
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) a
88

99
### Changed
1010

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

1313
## [0.16.0] - 2023-10-30
1414

config.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1985,11 +1985,13 @@ nodes:
19851985
type: constant
19861986
- name: name_loc
19871987
type: location
1988+
- name: value
1989+
type: node
19881990
comment: |
19891991
Represents an optional keyword parameter to a method, block, or lambda definition.
19901992
1991-
def a(b: )
1992-
^^
1993+
def a(b: 1)
1994+
^^^^
19931995
end
19941996
- name: OptionalParameterNode
19951997
fields:
@@ -2184,13 +2186,11 @@ nodes:
21842186
type: constant
21852187
- name: name_loc
21862188
type: location
2187-
- name: value
2188-
type: node
21892189
comment: |
21902190
Represents a required keyword parameter to a method, block, or lambda definition.
21912191
2192-
def a(b: 1)
2193-
^^^^
2192+
def a(b: )
2193+
^^
21942194
end
21952195
- name: RequiredParameterNode
21962196
fields:

lib/prism/debug.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ def self.prism_locals(source)
114114
AnonymousLocal
115115
end
116116
end,
117-
*params.keywords.select { |kw| kw.is_a? OptionalKeywordParameterNode }.map(&:name),
118-
*params.keywords.select { |kw| kw.is_a? RequiredKeywordParameterNode }.map(&:name),
117+
*params.keywords.grep(RequiredKeywordParameterNode).map(&:name),
118+
*params.keywords.grep(OptionalKeywordParameterNode).map(&:name),
119119
]
120120

121121
sorted << AnonymousLocal if params.keywords.any?

src/prism.c

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3326,14 +3326,14 @@ pm_keyword_hash_node_elements_append(pm_keyword_hash_node_t *hash, pm_node_t *el
33263326
hash->base.location.end = element->location.end;
33273327
}
33283328

3329-
// Allocate a new OptionalKeywordParameterNode node.
3330-
static pm_optional_keyword_parameter_node_t *
3331-
pm_optional_keyword_parameter_node_create(pm_parser_t *parser, const pm_token_t *name) {
3332-
pm_optional_keyword_parameter_node_t *node = PM_ALLOC_NODE(parser, pm_optional_keyword_parameter_node_t);
3329+
// Allocate a new RequiredKeywordParameterNode node.
3330+
static pm_required_keyword_parameter_node_t *
3331+
pm_required_keyword_parameter_node_create(pm_parser_t *parser, const pm_token_t *name) {
3332+
pm_required_keyword_parameter_node_t *node = PM_ALLOC_NODE(parser, pm_required_keyword_parameter_node_t);
33333333

3334-
*node = (pm_optional_keyword_parameter_node_t) {
3334+
*node = (pm_required_keyword_parameter_node_t) {
33353335
{
3336-
.type = PM_OPTIONAL_KEYWORD_PARAMETER_NODE,
3336+
.type = PM_REQUIRED_KEYWORD_PARAMETER_NODE,
33373337
.location = {
33383338
.start = name->start,
33393339
.end = name->end
@@ -3346,14 +3346,14 @@ pm_optional_keyword_parameter_node_create(pm_parser_t *parser, const pm_token_t
33463346
return node;
33473347
}
33483348

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

3354-
*node = (pm_required_keyword_parameter_node_t) {
3354+
*node = (pm_optional_keyword_parameter_node_t) {
33553355
{
3356-
.type = PM_REQUIRED_KEYWORD_PARAMETER_NODE,
3356+
.type = PM_OPTIONAL_KEYWORD_PARAMETER_NODE,
33573357
.location = {
33583358
.start = name->start,
33593359
.end = value->location.end
@@ -10502,7 +10502,7 @@ parse_parameters(
1050210502
case PM_TOKEN_COMMA:
1050310503
case PM_TOKEN_PARENTHESIS_RIGHT:
1050410504
case PM_TOKEN_PIPE: {
10505-
pm_node_t *param = (pm_node_t *) pm_optional_keyword_parameter_node_create(parser, &name);
10505+
pm_node_t *param = (pm_node_t *) pm_required_keyword_parameter_node_create(parser, &name);
1050610506
pm_parameters_node_keywords_append(params, param);
1050710507
break;
1050810508
}
@@ -10513,7 +10513,7 @@ parse_parameters(
1051310513
break;
1051410514
}
1051510515

10516-
pm_node_t *param = (pm_node_t *) pm_optional_keyword_parameter_node_create(parser, &name);
10516+
pm_node_t *param = (pm_node_t *) pm_required_keyword_parameter_node_create(parser, &name);
1051710517
pm_parameters_node_keywords_append(params, param);
1051810518
break;
1051910519
}
@@ -10524,10 +10524,10 @@ parse_parameters(
1052410524
context_push(parser, PM_CONTEXT_DEFAULT_PARAMS);
1052510525
pm_node_t *value = parse_expression(parser, binding_power, PM_ERR_PARAMETER_NO_DEFAULT_KW);
1052610526
context_pop(parser);
10527-
param = (pm_node_t *) pm_required_keyword_parameter_node_create(parser, &name, value);
10527+
param = (pm_node_t *) pm_optional_keyword_parameter_node_create(parser, &name, value);
1052810528
}
1052910529
else {
10530-
param = (pm_node_t *) pm_optional_keyword_parameter_node_create(parser, &name);
10530+
param = (pm_node_t *) pm_required_keyword_parameter_node_create(parser, &name);
1053110531
}
1053210532

1053310533
pm_parameters_node_keywords_append(params, param);

test/prism/errors_test.rb

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -746,7 +746,7 @@ def test_keywords_parameters_before_required_parameters
746746
[],
747747
nil,
748748
[RequiredParameterNode(:a)],
749-
[OptionalKeywordParameterNode(:b, Location())],
749+
[RequiredKeywordParameterNode(:b, Location())],
750750
nil,
751751
nil
752752
),
@@ -774,7 +774,7 @@ def test_rest_keywords_parameters_before_required_parameters
774774
[],
775775
nil,
776776
[],
777-
[OptionalKeywordParameterNode(:b, Location())],
777+
[RequiredKeywordParameterNode(:b, Location())],
778778
KeywordRestParameterNode(:rest, Location(), Location()),
779779
nil
780780
),
@@ -824,7 +824,7 @@ def test_multiple_error_in_parameters_order
824824
[],
825825
nil,
826826
[RequiredParameterNode(:a)],
827-
[OptionalKeywordParameterNode(:b, Location())],
827+
[RequiredKeywordParameterNode(:b, Location())],
828828
KeywordRestParameterNode(:args, Location(), Location()),
829829
nil
830830
),
@@ -854,7 +854,7 @@ def test_switching_to_optional_arguments_twice
854854
[],
855855
nil,
856856
[RequiredParameterNode(:a)],
857-
[OptionalKeywordParameterNode(:b, Location())],
857+
[RequiredKeywordParameterNode(:b, Location())],
858858
KeywordRestParameterNode(:args, Location(), Location()),
859859
nil
860860
),
@@ -884,7 +884,7 @@ def test_switching_to_named_arguments_twice
884884
[],
885885
nil,
886886
[RequiredParameterNode(:a)],
887-
[OptionalKeywordParameterNode(:b, Location())],
887+
[RequiredKeywordParameterNode(:b, Location())],
888888
KeywordRestParameterNode(:args, Location(), Location()),
889889
nil
890890
),

test/prism/location_test.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -600,7 +600,7 @@ def test_NumberedReferenceReadNode
600600
end
601601

602602
def test_OptionalKeywordParameterNode
603-
assert_location(OptionalKeywordParameterNode, "def foo(bar:); end", 8...12) do |node|
603+
assert_location(OptionalKeywordParameterNode, "def foo(bar: nil); end", 8...16) do |node|
604604
node.parameters.keywords.first
605605
end
606606
end
@@ -670,7 +670,7 @@ def test_RegularExpressionNode
670670
end
671671

672672
def test_RequiredKeywordParameterNode
673-
assert_location(RequiredKeywordParameterNode, "def foo(bar: nil); end", 8...16) do |node|
673+
assert_location(RequiredKeywordParameterNode, "def foo(bar:); end", 8...12) do |node|
674674
node.parameters.keywords.first
675675
end
676676
end

test/prism/snapshots/blocks.txt

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/prism/snapshots/lambda.txt

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/prism/snapshots/methods.txt

Lines changed: 11 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/prism/snapshots/procs.txt

Lines changed: 6 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)