summaryrefslogtreecommitdiff
path: root/prism_compile.c
diff options
context:
space:
mode:
authorJemma Issroff <jemmaissroff@gmail.com>2023-11-07 15:39:11 -0300
committerJemma Issroff <jemmaissroff@gmail.com>2023-11-08 18:15:47 -0300
commit26cff6ae2b7fe2259f942d1cf411c5af891b1de9 (patch)
tree790efc0798d9747e27aca66302804ec4c02f8026 /prism_compile.c
parent8d0eb872e8fd0cc1837318c4c242f4085df9812e (diff)
[PRISM] Add tests for several parameters nodes
This commit adds tests for BlockParameterNode, RequiredParameterNode, RequiredKeywordParameterNode and RestParameterNode
Diffstat (limited to 'prism_compile.c')
-rw-r--r--prism_compile.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/prism_compile.c b/prism_compile.c
index ab3b837626..ba02517532 100644
--- a/prism_compile.c
+++ b/prism_compile.c
@@ -3393,18 +3393,11 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
}
if (parameters_node->keyword_rest) {
- switch (PM_NODE_TYPE(parameters_node->keyword_rest)) {
- case PM_NO_KEYWORDS_PARAMETER_NODE: {
- body->param.flags.accepts_no_kwarg = true;
- break;
- }
- case PM_KEYWORD_REST_PARAMETER_NODE: {
- body->param.flags.has_kwrest = true;
- break;
- }
- default: {
- rb_bug("Keyword rest is an unexpected type\n");
- }
+ if (PM_NODE_TYPE_P(parameters_node->keyword_rest, PM_NO_KEYWORDS_PARAMETER_NODE)) {
+ body->param.flags.accepts_no_kwarg = true;
+ }
+ else {
+ body->param.flags.has_kwrest = true;
}
}