Skip to content

Commit c495ed3

Browse files
committed
Initial attempt at named parameters in signatures
1 parent 3858926 commit c495ed3

File tree

15 files changed

+1980
-1463
lines changed

15 files changed

+1980
-1463
lines changed

dump.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1804,6 +1804,11 @@ S_do_op_dump_bar(pTHX_ I32 level, UV bar, PerlIO *file, const OP *o,
18041804
S_opdump_indent(aTHX_ o, level, bar, file, " PARAM [%zd] ANON\n",
18051805
i);
18061806
}
1807+
for(size_t i = 0; i < aux->n_named; i++) {
1808+
struct op_multiparam_named_aux *named = aux->named + i;
1809+
S_opdump_indent(aTHX_ o, level, bar, file, " NAMEDPARAM <%.*s> PADIX = %" UVuf "%s\n",
1810+
named->namelen, named->namepv, named->padix, named->is_required ? "" : " OPT");
1811+
}
18071812

18081813
if(aux->slurpy)
18091814
S_opdump_indent(aTHX_ o, level, bar, file, "SLURPY = '%c' PADIX = %" UVuf "\n",

embed.fnc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3133,6 +3133,11 @@ p |void |sub_crush_depth|NN CV *cv
31333133
: Used in perly.y
31343134
p |void |subsignature_append_fence_op \
31353135
|NN OP *o
3136+
p |void |subsignature_append_named \
3137+
|NN const char *paramname \
3138+
|PADOFFSET padix \
3139+
|OPCODE defmode \
3140+
|NULLOK OP *defexpr
31363141
p |void |subsignature_append_positional \
31373142
|PADOFFSET padix \
31383143
|OPCODE defmode \

embed.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1164,6 +1164,7 @@
11641164
# define sighandler3 Perl_sighandler3
11651165
# define sub_crush_depth(a) Perl_sub_crush_depth(aTHX_ a)
11661166
# define subsignature_append_fence_op(a) Perl_subsignature_append_fence_op(aTHX_ a)
1167+
# define subsignature_append_named(a,b,c,d) Perl_subsignature_append_named(aTHX_ a,b,c,d)
11671168
# define subsignature_append_positional(a,b,c) Perl_subsignature_append_positional(aTHX_ a,b,c)
11681169
# define subsignature_append_slurpy(a,b) Perl_subsignature_append_slurpy(aTHX_ a,b)
11691170
# define subsignature_finish() Perl_subsignature_finish(aTHX)

0 commit comments

Comments
 (0)