summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2023-10-23 11:24:35 -0300
committerJemma Issroff <jemmaissroff@gmail.com>2023-10-25 13:02:44 -0300
commitfe0827013b8bfda45419f375e817b2259e2c8b8f (patch)
tree43b4df9728194224a75ceed309aff31ad8c422d9
parent4f1adb010740803035cfed94bb29431ddc204319 (diff)
[PRISM] Implement NoKeywordsParameterNode
-rw-r--r--prism_compile.c2
-rw-r--r--test/ruby/test_compile_prism.rb5
2 files changed, 7 insertions, 0 deletions
diff --git a/prism_compile.c b/prism_compile.c
index d9432a0a51..3ed120de48 100644
--- a/prism_compile.c
+++ b/prism_compile.c
@@ -2193,6 +2193,8 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
case PM_NIL_NODE:
PM_PUTNIL_UNLESS_POPPED
return;
+ case PM_NO_KEYWORDS_PARAMETER_NODE:
+ return;
case PM_NUMBERED_REFERENCE_READ_NODE: {
if (!popped) {
uint32_t reference_number = ((pm_numbered_reference_read_node_t *)node)->number;
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb
index acda2f5d49..ad5994f2c1 100644
--- a/test/ruby/test_compile_prism.rb
+++ b/test/ruby/test_compile_prism.rb
@@ -619,6 +619,11 @@ module Prism
test_prism_eval("[1].map { |a; b| b = 2; a + b}")
end
+ def test_NoKeywordsParameterNode
+ test_prism_eval("def prism_test_no_keywords(**nil); end")
+ test_prism_eval("def prism_test_no_keywords(a, b = 2, **nil); end")
+ end
+
def test_OptionalParameterNode
test_prism_eval("def prism_test_optional_param_node(bar = nil); end")
end