diff options
| -rw-r--r-- | prism_compile.c | 7 | ||||
| -rw-r--r-- | test/ruby/test_compile_prism.rb | 5 |
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 |
