mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
codegen.c: fix keyword arguments in super and yield
The first keyword argument was dropped because gen_hash() was called with callargs->keyword_args->cdr instead of callargs->keyword_args. Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -5596,7 +5596,7 @@ codegen_yield(codegen_scope *s, node *varnode, int val)
|
||||
}
|
||||
}
|
||||
if (callargs->keyword_args) {
|
||||
nk = gen_hash(s, callargs->keyword_args->cdr, VAL, 14);
|
||||
nk = gen_hash(s, callargs->keyword_args, VAL, 14);
|
||||
if (nk < 0) {
|
||||
nk = 15;
|
||||
}
|
||||
@@ -5648,7 +5648,7 @@ codegen_super(codegen_scope *s, node *varnode, int val)
|
||||
|
||||
/* Keyword arguments */
|
||||
if (callargs->keyword_args) {
|
||||
nk = gen_hash(s, callargs->keyword_args->cdr, VAL, 14);
|
||||
nk = gen_hash(s, callargs->keyword_args, VAL, 14);
|
||||
if (nk < 0) {st++; nk = 15;}
|
||||
else st += nk*2;
|
||||
n |= nk<<4;
|
||||
|
||||
Reference in New Issue
Block a user