summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--prism_compile.c7
-rw-r--r--test/ruby/test_compile_prism.rb5
2 files changed, 11 insertions, 1 deletions
diff --git a/prism_compile.c b/prism_compile.c
index 3ed120de48..5e19b2f63d 100644
--- a/prism_compile.c
+++ b/prism_compile.c
@@ -2227,6 +2227,11 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
return;
}
+ case PM_PARAMETERS_NODE: {
+ rb_bug("Should not ever enter a parameters node directly");
+
+ return;
+ }
case PM_PARENTHESES_NODE: {
pm_parentheses_node_t *parentheses_node = (pm_parentheses_node_t *) node;
@@ -2266,7 +2271,7 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
return;
}
case PM_PROGRAM_NODE: {
- rb_bug("Should not ever enter a program node");
+ rb_bug("Should not ever enter a program node directly");
return;
}
diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb
index ad5994f2c1..8128a88486 100644
--- a/test/ruby/test_compile_prism.rb
+++ b/test/ruby/test_compile_prism.rb
@@ -628,6 +628,11 @@ module Prism
test_prism_eval("def prism_test_optional_param_node(bar = nil); end")
end
+ def test_ParametersNode
+ test_prism_eval("def prism_test_parameters_node(bar, baz); end")
+ test_prism_eval("def prism_test_parameters_node(a, b = 2); end")
+ end
+
def test_UndefNode
test_prism_eval("def prism_undef_node_1; end; undef prism_undef_node_1")
test_prism_eval(<<-HERE