summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--class.c4
-rw-r--r--op.c2
-rw-r--r--perly.act1074
-rw-r--r--perly.h11
-rw-r--r--perly.tab85
-rw-r--r--perly.y5
6 files changed, 588 insertions, 593 deletions
diff --git a/class.c b/class.c
index 5a3938139d..4a1d83d615 100644
--- a/class.c
+++ b/class.c
@@ -792,7 +792,11 @@ Perl_class_seal_stash(pTHX_ HV *stash)
ops = op_append_list(OP_LINESEQ, ops, fieldop);
}
+ /* initfields CV should not get class_wrap_method_body() called on its
+ * body. pretend it isn't a method for now */
+ CvIsMETHOD_off(PL_compcv);
CV *initfields = newATTRSUB(floor_ix, NULL, NULL, NULL, ops);
+ CvIsMETHOD_on(initfields);
aux->xhv_class_initfields_cv = initfields;
}
diff --git a/op.c b/op.c
index dec2247f96..1130dd9afa 100644
--- a/op.c
+++ b/op.c
@@ -10638,6 +10638,8 @@ Perl_newATTRSUB_x(pTHX_ I32 floor, OP *o, OP *proto, OP *attrs,
if (block) {
assert(PL_parser);
+ if (CvIsMETHOD(PL_compcv))
+ block = class_wrap_method_body(block);
/* This makes sub {}; work as expected. */
if (block->op_type == OP_STUB) {
const line_t l = PL_parser->copline;
diff --git a/perly.act b/perly.act
index 83322d6e2b..2641d29297 100644
--- a/perly.act
+++ b/perly.act
@@ -6,7 +6,7 @@
case 2:
#line 161 "perly.y"
- {
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -15,7 +15,7 @@ case 2:
case 3:
#line 166 "perly.y"
- {
+ {
newPROG(block_end((ps[-1].val.ival),(ps[0].val.opval)));
PL_compiling.cop_seq = 0;
(yyval.ival) = 0;
@@ -25,7 +25,7 @@ case 2:
case 4:
#line 172 "perly.y"
- {
+ {
parser->expect = XTERM;
(yyval.ival) = 0;
}
@@ -34,7 +34,7 @@ case 2:
case 5:
#line 177 "perly.y"
- {
+ {
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
}
@@ -43,7 +43,7 @@ case 2:
case 6:
#line 182 "perly.y"
- {
+ {
parser->expect = XBLOCK;
(yyval.ival) = 0;
}
@@ -52,7 +52,7 @@ case 2:
case 7:
#line 187 "perly.y"
- {
+ {
PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
@@ -64,7 +64,7 @@ case 2:
case 8:
#line 195 "perly.y"
- {
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -73,7 +73,7 @@ case 2:
case 9:
#line 200 "perly.y"
- {
+ {
PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
@@ -85,7 +85,7 @@ case 2:
case 10:
#line 208 "perly.y"
- {
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -94,7 +94,7 @@ case 2:
case 11:
#line 213 "perly.y"
- {
+ {
PL_pad_reset_pending = TRUE;
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
@@ -106,7 +106,7 @@ case 2:
case 12:
#line 221 "perly.y"
- {
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -115,7 +115,7 @@ case 2:
case 13:
#line 226 "perly.y"
- {
+ {
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
}
@@ -124,7 +124,7 @@ case 2:
case 14:
#line 231 "perly.y"
- {
+ {
parser->expect = XSTATE;
(yyval.ival) = 0;
}
@@ -133,7 +133,7 @@ case 2:
case 15:
#line 236 "perly.y"
- {
+ {
PL_eval_root = (ps[0].val.opval);
(yyval.ival) = 0;
}
@@ -142,19 +142,19 @@ case 2:
case 16:
#line 245 "perly.y"
- { (yyval.ival) = KW_SUB_named_sig; }
+ { (yyval.ival) = KW_SUB_named_sig; }
break;
case 17:
#line 247 "perly.y"
- { (yyval.ival) = KW_METHOD_named; }
+ { (yyval.ival) = KW_METHOD_named; }
break;
case 18:
#line 252 "perly.y"
- { if (parser->copline > (line_t)(ps[-3].val.ival))
+ { if (parser->copline > (line_t)(ps[-3].val.ival))
parser->copline = (line_t)(ps[-3].val.ival);
(yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
}
@@ -163,13 +163,13 @@ case 2:
case 19:
#line 259 "perly.y"
- { (yyval.opval) = NULL; }
+ { (yyval.opval) = NULL; }
break;
case 20:
#line 264 "perly.y"
- { if (parser->copline > (line_t)(ps[-6].val.ival))
+ { if (parser->copline > (line_t)(ps[-6].val.ival))
parser->copline = (line_t)(ps[-6].val.ival);
(yyval.opval) = block_end((ps[-5].val.ival), (ps[-2].val.opval));
}
@@ -178,14 +178,14 @@ case 2:
case 21:
#line 271 "perly.y"
- { (yyval.ival) = block_start(TRUE);
+ { (yyval.ival) = block_start(TRUE);
parser->parsed_sub = 0; }
break;
case 22:
#line 276 "perly.y"
- { if (parser->copline > (line_t)(ps[-3].val.ival))
+ { if (parser->copline > (line_t)(ps[-3].val.ival))
parser->copline = (line_t)(ps[-3].val.ival);
(yyval.opval) = block_end((ps[-2].val.ival), (ps[-1].val.opval));
}
@@ -194,32 +194,32 @@ case 2:
case 23:
#line 283 "perly.y"
- { (yyval.ival) = block_start(FALSE);
+ { (yyval.ival) = block_start(FALSE);
parser->parsed_sub = 0; }
break;
case 25:
#line 292 "perly.y"
- { parser->in_my = 1; }
+ { parser->in_my = 1; }
break;
case 26:
#line 294 "perly.y"
- { parser->in_my = 0; intro_my(); }
+ { parser->in_my = 0; intro_my(); }
break;
case 27:
#line 296 "perly.y"
- { (yyval.opval) = (ps[-2].val.opval); }
+ { (yyval.opval) = (ps[-2].val.opval); }
break;
case 29:
#line 303 "perly.y"
- { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
+ { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
PL_pad_reset_pending = TRUE;
if ((ps[-1].val.opval) && (ps[0].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
@@ -229,7 +229,7 @@ case 2:
case 31:
#line 314 "perly.y"
- { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
+ { (yyval.opval) = op_append_list(OP_LINESEQ, (ps[-1].val.opval), (ps[0].val.opval));
PL_pad_reset_pending = TRUE;
if ((ps[-1].val.opval) && (ps[0].val.opval))
PL_hints |= HINT_BLOCK_SCOPE;
@@ -239,7 +239,7 @@ case 2:
case 32:
#line 323 "perly.y"
- {
+ {
(yyval.opval) = (ps[0].val.opval) ? newSTATEOP(0, NULL, (ps[0].val.opval)) : NULL;
}
@@ -247,13 +247,13 @@ case 2:
case 33:
#line 327 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 34:
#line 331 "perly.y"
- {
+ {
SV *label = cSVOPx_sv((ps[-1].val.opval));
(yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8,
savepv(SvPVX_const(label)), (ps[0].val.opval));
@@ -264,7 +264,7 @@ case 2:
case 35:
#line 338 "perly.y"
- {
+ {
SV *label = cSVOPx_sv((ps[-1].val.opval));
(yyval.opval) = newSTATEOP(SvFLAGS(label) & SVf_UTF8,
savepv(SvPVX_const(label)), (ps[0].val.opval));
@@ -275,13 +275,13 @@ case 2:
case 36:
#line 348 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 37:
#line 350 "perly.y"
- {
+ {
CV *fmtcv = PL_compcv;
newFORM((ps[-2].val.ival), (ps[-1].val.opval), (ps[0].val.opval));
(yyval.opval) = NULL;
@@ -295,7 +295,7 @@ case 2:
case 38:
#line 362 "perly.y"
- {
+ {
init_named_cv(PL_compcv, (ps[-1].val.opval));
parser->in_my = 0;
parser->in_my_stash = NULL;
@@ -305,7 +305,7 @@ case 2:
case 39:
#line 368 "perly.y"
- {
+ {
SvREFCNT_inc_simple_void(PL_compcv);
(ps[-5].val.opval)->op_type == OP_CONST
? newATTRSUB((ps[-4].val.ival), (ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval))
@@ -320,7 +320,7 @@ case 2:
case 40:
#line 383 "perly.y"
- {
+ {
init_named_cv(PL_compcv, (ps[-1].val.opval));
if((ps[-2].val.ival) == KW_METHOD_named) {
croak_kw_unless_class("method");
@@ -334,13 +334,10 @@ case 2:
case 41:
#line 393 "perly.y"
- {
+ {
OP *body = (ps[0].val.opval);
SvREFCNT_inc_simple_void(PL_compcv);
- if((ps[-5].val.ival) == KW_METHOD_named) {
- body = class_wrap_method_body(body);
- }
(ps[-4].val.opval)->op_type == OP_CONST
? newATTRSUB((ps[-3].val.ival), (ps[-4].val.opval), NULL, (ps[-1].val.opval), body)
: newMYSUB( (ps[-3].val.ival), (ps[-4].val.opval), NULL, (ps[-1].val.opval), body)
@@ -353,8 +350,8 @@ case 2:
break;
case 42:
-#line 409 "perly.y"
- {
+#line 406 "perly.y"
+ {
switch((ps[-1].val.ival)) {
case KEY_ADJUST:
croak_kw_unless_class("ADJUST");
@@ -368,8 +365,8 @@ case 2:
break;
case 43:
-#line 420 "perly.y"
- {
+#line 417 "perly.y"
+ {
OP *body = (ps[0].val.opval);
SvREFCNT_inc_simple_void(PL_compcv);
@@ -377,7 +374,6 @@ case 2:
switch((ps[-3].val.ival)) {
case KEY_ADJUST:
- body = class_wrap_method_body(body);
cv = newATTRSUB((ps[-2].val.ival), NULL, NULL, NULL, body);
class_add_ADJUST(PL_curstash, cv);
break;
@@ -388,8 +384,8 @@ case 2:
break;
case 44:
-#line 440 "perly.y"
- {
+#line 436 "perly.y"
+ {
package((ps[-1].val.opval));
if ((ps[-2].val.opval))
package_version((ps[-2].val.opval));
@@ -399,8 +395,8 @@ case 2:
break;
case 45:
-#line 447 "perly.y"
- {
+#line 443 "perly.y"
+ {
package((ps[-2].val.opval));
if ((ps[-3].val.opval))
package_version((ps[-3].val.opval));
@@ -414,14 +410,14 @@ case 2:
break;
case 46:
-#line 458 "perly.y"
- { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
+#line 454 "perly.y"
+ { CvSPECIAL_on(PL_compcv); /* It's a BEGIN {} */ }
break;
case 47:
-#line 462 "perly.y"
- {
+#line 458 "perly.y"
+ {
SvREFCNT_inc_simple_void(PL_compcv);
utilize((ps[-6].val.ival), (ps[-5].val.ival), (ps[-3].val.opval), (ps[-2].val.opval), (ps[-1].val.opval));
parser->parsed_sub = 1;
@@ -431,8 +427,8 @@ case 2:
break;
case 48:
-#line 469 "perly.y"
- {
+#line 465 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival),
newCONDOP(0, (ps[-3].val.opval), op_scope((ps[-1].val.opval)), (ps[0].val.opval)));
parser->copline = (line_t)(ps[-6].val.ival);
@@ -441,8 +437,8 @@ case 2:
break;
case 49:
-#line 475 "perly.y"
- {
+#line 471 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival),
newCONDOP(0, (ps[-3].val.opval), (ps[0].val.opval), op_scope((ps[-1].val.opval))));
parser->copline = (line_t)(ps[-6].val.ival);
@@ -451,8 +447,8 @@ case 2:
break;
case 50:
-#line 481 "perly.y"
- {
+#line 477 "perly.y"
+ {
(yyval.opval) = block_end((ps[-3].val.ival), newGIVENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)), 0));
parser->copline = (line_t)(ps[-5].val.ival);
}
@@ -460,20 +456,20 @@ case 2:
break;
case 51:
-#line 486 "perly.y"
- { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); }
+#line 482 "perly.y"
+ { (yyval.opval) = block_end((ps[-3].val.ival), newWHENOP((ps[-2].val.opval), op_scope((ps[0].val.opval)))); }
break;
case 52:
-#line 488 "perly.y"
- { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); }
+#line 484 "perly.y"
+ { (yyval.opval) = newWHENOP(0, op_scope((ps[0].val.opval))); }
break;
case 53:
-#line 490 "perly.y"
- {
+#line 486 "perly.y"
+ {
(yyval.opval) = block_end((ps[-5].val.ival),
newWHILEOP(0, 1, NULL,
(ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
@@ -483,8 +479,8 @@ case 2:
break;
case 54:
-#line 497 "perly.y"
- {
+#line 493 "perly.y"
+ {
(yyval.opval) = block_end((ps[-5].val.ival),
newWHILEOP(0, 1, NULL,
(ps[-4].val.opval), (ps[-1].val.opval), (ps[0].val.opval), (ps[-2].val.ival)));
@@ -494,20 +490,20 @@ case 2:
break;
case 55:
-#line 504 "perly.y"
- { parser->expect = XTERM; }
+#line 500 "perly.y"
+ { parser->expect = XTERM; }
break;
case 56:
-#line 506 "perly.y"
- { parser->expect = XTERM; }
+#line 502 "perly.y"
+ { parser->expect = XTERM; }
break;
case 57:
-#line 509 "perly.y"
- {
+#line 505 "perly.y"
+ {
OP *initop = (ps[-9].val.opval);
OP *forop = newWHILEOP(0, 1, NULL,
scalar((ps[-6].val.opval)), (ps[0].val.opval), (ps[-2].val.opval), (ps[-3].val.ival));
@@ -525,8 +521,8 @@ case 2:
break;
case 58:
-#line 524 "perly.y"
- {
+#line 520 "perly.y"
+ {
(yyval.opval) = block_end((ps[-6].val.ival), newFOROP(0, (ps[-5].val.opval), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
parser->copline = (line_t)(ps[-8].val.ival);
}
@@ -534,8 +530,8 @@ case 2:
break;
case 59:
-#line 529 "perly.y"
- {
+#line 525 "perly.y"
+ {
if ((ps[-6].val.opval)->op_type == OP_PADSV)
/* degenerate case of 1 var: for my ($x) ....
Flag it so it can be special-cased in newFOROP */
@@ -547,8 +543,8 @@ case 2:
break;
case 60:
-#line 538 "perly.y"
- {
+#line 534 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival), newFOROP(0,
op_lvalue((ps[-6].val.opval), OP_ENTERLOOP), (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
parser->copline = (line_t)(ps[-7].val.ival);
@@ -557,14 +553,14 @@ case 2:
break;
case 61:
-#line 544 "perly.y"
- { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
+#line 540 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
break;
case 62:
-#line 546 "perly.y"
- {
+#line 542 "perly.y"
+ {
(yyval.opval) = block_end(
(ps[-7].val.ival),
newFOROP(0,
@@ -580,8 +576,8 @@ case 2:
break;
case 63:
-#line 559 "perly.y"
- {
+#line 555 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival), newFOROP(
0, op_lvalue(newUNOP(OP_REFGEN, 0,
(ps[-6].val.opval)),
@@ -592,8 +588,8 @@ case 2:
break;
case 64:
-#line 567 "perly.y"
- {
+#line 563 "perly.y"
+ {
(yyval.opval) = block_end((ps[-4].val.ival),
newFOROP(0, NULL, (ps[-3].val.opval), (ps[-1].val.opval), (ps[0].val.opval)));
parser->copline = (line_t)(ps[-6].val.ival);
@@ -602,8 +598,8 @@ case 2:
break;
case 65:
-#line 573 "perly.y"
- {
+#line 569 "perly.y"
+ {
if(!(ps[0].val.opval)) {
yyerror("catch block requires a (VAR)");
YYERROR;
@@ -613,8 +609,8 @@ case 2:
break;
case 66:
-#line 580 "perly.y"
- {
+#line 576 "perly.y"
+ {
(yyval.opval) = newTRYCATCHOP(0,
(ps[-6].val.opval), (ps[-3].val.opval), block_end((ps[-4].val.ival), op_scope((ps[-1].val.opval))));
if((ps[0].val.opval))
@@ -625,8 +621,8 @@ case 2:
break;
case 67:
-#line 588 "perly.y"
- {
+#line 584 "perly.y"
+ {
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, NULL,
NULL, (ps[-1].val.opval), (ps[0].val.opval), 0);
@@ -635,8 +631,8 @@ case 2:
break;
case 68:
-#line 594 "perly.y"
- {
+#line 590 "perly.y"
+ {
package((ps[-2].val.opval));
if ((ps[-3].val.opval)) {
package_version((ps[-3].val.opval));
@@ -646,8 +642,8 @@ case 2:
break;
case 69:
-#line 601 "perly.y"
- {
+#line 597 "perly.y"
+ {
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, NULL,
NULL, block_end((ps[-3].val.ival), (ps[-1].val.opval)), NULL, 0);
@@ -658,8 +654,8 @@ case 2:
break;
case 70:
-#line 609 "perly.y"
- {
+#line 605 "perly.y"
+ {
package((ps[-3].val.opval));
if ((ps[-4].val.opval)) {
@@ -674,8 +670,8 @@ case 2:
break;
case 71:
-#line 621 "perly.y"
- {
+#line 617 "perly.y"
+ {
/* a block is a loop that happens once */
(yyval.opval) = newWHILEOP(0, 1, NULL,
NULL, block_end((ps[-3].val.ival), (ps[-1].val.opval)), NULL, 0);
@@ -686,32 +682,32 @@ case 2:
break;
case 72:
-#line 629 "perly.y"
- {
+#line 625 "perly.y"
+ {
(yyval.opval) = (ps[-1].val.opval);
}
break;
case 73:
-#line 633 "perly.y"
- {
+#line 629 "perly.y"
+ {
(yyval.opval) = (ps[-1].val.opval);
}
break;
case 74:
-#line 637 "perly.y"
- {
+#line 633 "perly.y"
+ {
(yyval.opval) = newDEFEROP(0, op_scope((ps[0].val.opval)));
}
break;
case 75:
-#line 641 "perly.y"
- {
+#line 637 "perly.y"
+ {
/* diag_listed_as: Unimplemented */
(yyval.opval) = newLISTOP(OP_DIE, 0, newOP(OP_PUSHMARK, 0),
newSVOP(OP_CONST, 0, newSVpvs("Unimplemented")));
@@ -720,8 +716,8 @@ case 2:
break;
case 76:
-#line 647 "perly.y"
- {
+#line 643 "perly.y"
+ {
(yyval.opval) = NULL;
parser->copline = NOLINE;
}
@@ -729,8 +725,8 @@ case 2:
break;
case 77:
-#line 655 "perly.y"
- { OP *list;
+#line 651 "perly.y"
+ { OP *list;
if ((ps[0].val.opval)) {
OP *term = (ps[0].val.opval);
list = op_append_elem(OP_LIST, (ps[-1].val.opval), term);
@@ -748,63 +744,63 @@ case 2:
break;
case 79:
-#line 674 "perly.y"
- { (yyval.opval) = op_unscope((ps[-1].val.opval)); }
+#line 670 "perly.y"
+ { (yyval.opval) = op_unscope((ps[-1].val.opval)); }
break;
case 81:
-#line 682 "perly.y"
- { (yyval.opval) = NULL; }
+#line 678 "perly.y"
+ { (yyval.opval) = NULL; }
break;
case 82:
-#line 684 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 680 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 83:
-#line 686 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
+#line 682 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
break;
case 84:
-#line 688 "perly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
+#line 684 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[0].val.opval), (ps[-2].val.opval)); }
break;
case 85:
-#line 690 "perly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); }
+#line 686 "perly.y"
+ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, scalar((ps[0].val.opval)), (ps[-2].val.opval)); }
break;
case 86:
-#line 692 "perly.y"
- { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); }
+#line 688 "perly.y"
+ { (yyval.opval) = newLOOPOP(OPf_PARENS, 1, (ps[0].val.opval), (ps[-2].val.opval)); }
break;
case 87:
-#line 694 "perly.y"
- { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL);
+#line 690 "perly.y"
+ { (yyval.opval) = newFOROP(0, NULL, (ps[0].val.opval), (ps[-2].val.opval), NULL);
parser->copline = (line_t)(ps[-1].val.ival); }
break;
case 88:
-#line 697 "perly.y"
- { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); }
+#line 693 "perly.y"
+ { (yyval.opval) = newWHENOP((ps[0].val.opval), op_scope((ps[-2].val.opval))); }
break;
case 90:
-#line 704 "perly.y"
- {
+#line 700 "perly.y"
+ {
((ps[0].val.opval))->op_flags |= OPf_PARENS;
(yyval.opval) = op_scope((ps[0].val.opval));
}
@@ -812,8 +808,8 @@ case 2:
break;
case 91:
-#line 709 "perly.y"
- { parser->copline = (line_t)(ps[-5].val.ival);
+#line 705 "perly.y"
+ { parser->copline = (line_t)(ps[-5].val.ival);
(yyval.opval) = newCONDOP(0,
newSTATEOP(OPf_SPECIAL,NULL,(ps[-3].val.opval)),
op_scope((ps[-1].val.opval)), (ps[0].val.opval));
@@ -823,87 +819,87 @@ case 2:
break;
case 93:
-#line 721 "perly.y"
- { (yyval.opval) = op_scope((ps[0].val.opval)); }
+#line 717 "perly.y"
+ { (yyval.opval) = op_scope((ps[0].val.opval)); }
break;
case 94:
-#line 726 "perly.y"
- { (yyval.opval) = NULL; }
+#line 722 "perly.y"
+ { (yyval.opval) = NULL; }
break;
case 95:
-#line 728 "perly.y"
- { (yyval.opval) = op_scope((ps[0].val.opval)); }
+#line 724 "perly.y"
+ { (yyval.opval) = op_scope((ps[0].val.opval)); }
break;
case 96:
-#line 733 "perly.y"
- { (yyval.ival) = (PL_min_intro_pending &&
+#line 729 "perly.y"
+ { (yyval.ival) = (PL_min_intro_pending &&
PL_max_intro_pending >= PL_min_intro_pending);
intro_my(); }
break;
case 99:
-#line 745 "perly.y"
- { YYSTYPE tmplval;
+#line 741 "perly.y"
+ { YYSTYPE tmplval;
(void)scan_num("1", &tmplval);
(yyval.opval) = tmplval.opval; }
break;
case 101:
-#line 753 "perly.y"
- { (yyval.opval) = invert(scalar((ps[0].val.opval))); }
+#line 749 "perly.y"
+ { (yyval.opval) = invert(scalar((ps[0].val.opval))); }
break;
case 102:
-#line 758 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); intro_my(); }
+#line 754 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); intro_my(); }
break;
case 103:
-#line 762 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); intro_my(); }
+#line 758 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); intro_my(); }
break;
case 104:
-#line 765 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 761 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 106:
-#line 770 "perly.y"
- { (yyval.ival) = start_subparse(FALSE, 0);
+#line 766 "perly.y"
+ { (yyval.ival) = start_subparse(FALSE, 0);
SAVEFREESV(PL_compcv); }
break;
case 107:
-#line 776 "perly.y"
- { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
+#line 772 "perly.y"
+ { (yyval.ival) = start_subparse(FALSE, CVf_ANON);
SAVEFREESV(PL_compcv); }
break;
case 108:
-#line 781 "perly.y"
- { (yyval.ival) = start_subparse(TRUE, 0);
+#line 777 "perly.y"
+ { (yyval.ival) = start_subparse(TRUE, 0);
SAVEFREESV(PL_compcv); }
break;
case 114:
-#line 800 "perly.y"
- {
+#line 796 "perly.y"
+ {
OP *attrlist = (ps[0].val.opval);
if(attrlist && !PL_parser->sig_seen)
attrlist = apply_builtin_cv_attributes(PL_compcv, attrlist);
@@ -913,50 +909,50 @@ case 2:
break;
case 115:
-#line 807 "perly.y"
- { (yyval.opval) = NULL; }
+#line 803 "perly.y"
+ { (yyval.opval) = NULL; }
break;
case 116:
-#line 812 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 808 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 117:
-#line 814 "perly.y"
- { (yyval.opval) = NULL; }
+#line 810 "perly.y"
+ { (yyval.opval) = NULL; }
break;
case 118:
-#line 825 "perly.y"
- { parser->in_my = 0; (yyval.opval) = NULL; }
+#line 821 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = NULL; }
break;
case 119:
-#line 827 "perly.y"
- { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
+#line 823 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
break;
case 120:
-#line 832 "perly.y"
- { (yyval.ival) = '@'; }
+#line 828 "perly.y"
+ { (yyval.ival) = '@'; }
break;
case 121:
-#line 834 "perly.y"
- { (yyval.ival) = '%'; }
+#line 830 "perly.y"
+ { (yyval.ival) = '%'; }
break;
case 122:
-#line 838 "perly.y"
- {
+#line 834 "perly.y"
+ {
I32 sigil = (ps[-2].val.ival);
OP *var = (ps[-1].val.opval);
OP *defop = (ps[0].val.opval);
@@ -975,14 +971,14 @@ case 2:
break;
case 124:
-#line 859 "perly.y"
- { (yyval.opval) = newARGDEFELEMOP(0, newOP(OP_NULL, 0), parser->sig_elems); }
+#line 855 "perly.y"
+ { (yyval.opval) = newARGDEFELEMOP(0, newOP(OP_NULL, 0), parser->sig_elems); }
break;
case 125:
-#line 861 "perly.y"
- {
+#line 857 "perly.y"
+ {
I32 flags = 0;
if ((ps[-1].val.ival) == OP_DORASSIGN)
flags |= OPpARG_IF_UNDEF << 8;
@@ -994,8 +990,8 @@ case 2:
break;
case 126:
-#line 874 "perly.y"
- {
+#line 870 "perly.y"
+ {
OP *var = (ps[-1].val.opval);
OP *defop = (ps[0].val.opval);
@@ -1054,46 +1050,46 @@ case 2:
break;
case 127:
-#line 934 "perly.y"
- { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
+#line 930 "perly.y"
+ { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
break;
case 128:
-#line 936 "perly.y"
- { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
+#line 932 "perly.y"
+ { parser->in_my = KEY_sigvar; (yyval.opval) = (ps[0].val.opval); }
break;
case 129:
-#line 942 "perly.y"
- { (yyval.opval) = (ps[-1].val.opval); }
+#line 938 "perly.y"
+ { (yyval.opval) = (ps[-1].val.opval); }
break;
case 130:
-#line 944 "perly.y"
- {
+#line 940 "perly.y"
+ {
(yyval.opval) = op_append_list(OP_LINESEQ, (ps[-2].val.opval), (ps[0].val.opval));
}
break;
case 131:
-#line 948 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 944 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 136:
-#line 965 "perly.y"
- { (yyval.opval) = (ps[-1].val.opval); }
+#line 961 "perly.y"
+ { (yyval.opval) = (ps[-1].val.opval); }
break;
case 137:
-#line 968 "perly.y"
- {
+#line 964 "perly.y"
+ {
ENTER;
SAVEIV(parser->sig_elems);
SAVEIV(parser->sig_optelems);
@@ -1107,8 +1103,8 @@ case 2:
break;
case 138:
-#line 979 "perly.y"
- {
+#line 975 "perly.y"
+ {
OP *sigops = (ps[0].val.opval);
struct op_argcheck_aux *aux;
OP *check;
@@ -1164,14 +1160,14 @@ case 2:
break;
case 140:
-#line 1036 "perly.y"
- { (yyval.opval) = NULL; }
+#line 1032 "perly.y"
+ { (yyval.opval) = NULL; }
break;
case 141:
-#line 1042 "perly.y"
- {
+#line 1038 "perly.y"
+ {
if (parser->copline > (line_t)(ps[-2].val.ival))
parser->copline = (line_t)(ps[-2].val.ival);
(yyval.opval) = block_end((ps[-3].val.ival), (ps[-1].val.opval));
@@ -1180,14 +1176,14 @@ case 2:
break;
case 143:
-#line 1054 "perly.y"
- { (yyval.opval) = NULL; }
+#line 1050 "perly.y"
+ { (yyval.opval) = NULL; }
break;
case 144:
-#line 1059 "perly.y"
- {
+#line 1055 "perly.y"
+ {
if (parser->copline > (line_t)(ps[-2].val.ival))
parser->copline = (line_t)(ps[-2].val.ival);
(yyval.opval) = block_end((ps[-4].val.ival),
@@ -1197,38 +1193,38 @@ case 2:
break;
case 145:
-#line 1070 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1066 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 146:
-#line 1072 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1068 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 147:
-#line 1074 "perly.y"
- { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1070 "perly.y"
+ { (yyval.opval) = newLOGOP((ps[-1].val.ival), 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 148:
-#line 1076 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1072 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 150:
-#line 1082 "perly.y"
- { (yyval.opval) = (ps[-1].val.opval); }
+#line 1078 "perly.y"
+ { (yyval.opval) = (ps[-1].val.opval); }
break;
case 151:
-#line 1084 "perly.y"
- {
+#line 1080 "perly.y"
+ {
OP* term = (ps[0].val.opval);
(yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), term);
}
@@ -1236,24 +1232,24 @@ case 2:
break;
case 153:
-#line 1093 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED,
+#line 1089 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-2].val.ival), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF((ps[-2].val.ival),(ps[-1].val.opval)), (ps[0].val.opval)) );
}
break;
case 154:
-#line 1097 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED,
+#line 1093 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-4].val.ival), OPf_STACKED,
op_prepend_elem(OP_LIST, newGVREF((ps[-4].val.ival),(ps[-2].val.opval)), (ps[-1].val.opval)) );
}
break;
case 155:
-#line 1101 "perly.y"
- { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
+#line 1097 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, scalar((ps[-5].val.opval)), (ps[-1].val.opval)),
newMETHOP(OP_METHOD, 0, (ps[-3].val.opval))));
@@ -1262,8 +1258,8 @@ case 2:
break;
case 156:
-#line 1107 "perly.y"
- { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
+#line 1103 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, scalar((ps[-2].val.opval)),
newMETHOP(OP_METHOD, 0, (ps[0].val.opval))));
}
@@ -1271,8 +1267,8 @@ case 2:
break;
case 157:
-#line 1112 "perly.y"
- { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
+#line 1108 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)),
newMETHOP(OP_METHOD, 0, (ps[-2].val.opval))));
@@ -1281,8 +1277,8 @@ case 2:
break;
case 158:
-#line 1118 "perly.y"
- { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
+#line 1114 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[-3].val.opval), (ps[-1].val.opval)),
newMETHOP(OP_METHOD, 0, (ps[-4].val.opval))));
@@ -1291,33 +1287,33 @@ case 2:
break;
case 159:
-#line 1124 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); }
+#line 1120 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-1].val.ival), 0, (ps[0].val.opval)); }
break;
case 160:
-#line 1126 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
+#line 1122 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
break;
case 161:
-#line 1128 "perly.y"
- { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
+#line 1124 "perly.y"
+ { (yyval.opval) = op_convert_list((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
break;
case 162:
-#line 1130 "perly.y"
- { SvREFCNT_inc_simple_void(PL_compcv);
+#line 1126 "perly.y"
+ { SvREFCNT_inc_simple_void(PL_compcv);
(yyval.opval) = newANONATTRSUB((ps[-1].val.ival), 0, NULL, (ps[0].val.opval)); }
break;
case 163:
-#line 1133 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+#line 1129 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST,
op_prepend_elem(OP_LIST, (ps[-1].val.opval), (ps[0].val.opval)), (ps[-4].val.opval)));
}
@@ -1325,21 +1321,21 @@ case 2:
break;
case 166:
-#line 1148 "perly.y"
- { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); }
+#line 1144 "perly.y"
+ { (yyval.opval) = newBINOP(OP_GELEM, 0, (ps[-4].val.opval), scalar((ps[-2].val.opval))); }
break;
case 167:
-#line 1150 "perly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval)));
+#line 1146 "perly.y"
+ { (yyval.opval) = newBINOP(OP_AELEM, 0, oopsAV((ps[-3].val.opval)), scalar((ps[-1].val.opval)));
}
break;
case 168:
-#line 1153 "perly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0,
+#line 1149 "perly.y"
+ { (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[-4].val.opval)),OP_RV2AV),
scalar((ps[-1].val.opval)));
}
@@ -1347,8 +1343,8 @@ case 2:
break;
case 169:
-#line 1158 "perly.y"
- { (yyval.opval) = newBINOP(OP_AELEM, 0,
+#line 1154 "perly.y"
+ { (yyval.opval) = newBINOP(OP_AELEM, 0,
ref(newAVREF((ps[-3].val.opval)),OP_RV2AV),
scalar((ps[-1].val.opval)));
}
@@ -1356,31 +1352,31 @@ case 2:
break;
case 170:
-#line 1163 "perly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval)));
+#line 1159 "perly.y"
+ { (yyval.opval) = newBINOP(OP_HELEM, 0, oopsHV((ps[-4].val.opval)), jmaybe((ps[-2].val.opval)));
}
break;
case 171:
-#line 1166 "perly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0,
+#line 1162 "perly.y"
+ { (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[-5].val.opval)),OP_RV2HV),
jmaybe((ps[-2].val.opval))); }
break;
case 172:
-#line 1170 "perly.y"
- { (yyval.opval) = newBINOP(OP_HELEM, 0,
+#line 1166 "perly.y"
+ { (yyval.opval) = newBINOP(OP_HELEM, 0,
ref(newHVREF((ps[-4].val.opval)),OP_RV2HV),
jmaybe((ps[-2].val.opval))); }
break;
case 173:
-#line 1174 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+#line 1170 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar((ps[-3].val.opval))));
if (parser->expect == XBLOCK)
parser->expect = XOPERATOR;
@@ -1389,8 +1385,8 @@ case 2:
break;
case 174:
-#line 1180 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+#line 1176 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[-1].val.opval),
newCVREF(0, scalar((ps[-4].val.opval)))));
if (parser->expect == XBLOCK)
@@ -1400,8 +1396,8 @@ case 2:
break;
case 175:
-#line 1188 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+#line 1184 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[-1].val.opval),
newCVREF(0, scalar((ps[-3].val.opval)))));
if (parser->expect == XBLOCK)
@@ -1411,8 +1407,8 @@ case 2:
break;
case 176:
-#line 1195 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+#line 1191 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
newCVREF(0, scalar((ps[-2].val.opval))));
if (parser->expect == XBLOCK)
parser->expect = XOPERATOR;
@@ -1421,56 +1417,56 @@ case 2:
break;
case 177:
-#line 1201 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); }
+#line 1197 "perly.y"
+ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-4].val.opval)); }
break;
case 178:
-#line 1203 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); }
+#line 1199 "perly.y"
+ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), (ps[-3].val.opval)); }
break;
case 179:
-#line 1205 "perly.y"
- { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); }
+#line 1201 "perly.y"
+ { (yyval.opval) = newSLICEOP(0, (ps[-1].val.opval), NULL); }
break;
case 180:
-#line 1210 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1206 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 181:
-#line 1212 "perly.y"
- { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); }
+#line 1208 "perly.y"
+ { (yyval.opval) = newASSIGNOP(OPf_STACKED, (ps[-2].val.opval), (ps[-1].val.ival), (ps[0].val.opval)); }
break;
case 182:
-#line 1214 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1210 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 183:
-#line 1216 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1212 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 184:
-#line 1218 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1214 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 185:
-#line 1220 "perly.y"
- { if ((ps[-1].val.ival) != OP_REPEAT)
+#line 1216 "perly.y"
+ { if ((ps[-1].val.ival) != OP_REPEAT)
scalar((ps[-2].val.opval));
(yyval.opval) = newBINOP((ps[-1].val.ival), 0, (ps[-2].val.opval), scalar((ps[0].val.opval)));
}
@@ -1478,220 +1474,220 @@ case 2:
break;
case 186:
-#line 1225 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1221 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 187:
-#line 1227 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1223 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 188:
-#line 1229 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1225 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 189:
-#line 1231 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1227 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 190:
-#line 1233 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1229 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 191:
-#line 1235 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1231 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 192:
-#line 1237 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1233 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 193:
-#line 1239 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1235 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 194:
-#line 1241 "perly.y"
- { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1237 "perly.y"
+ { (yyval.opval) = newRANGE((ps[-1].val.ival), scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 195:
-#line 1243 "perly.y"
- { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1239 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_AND, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 196:
-#line 1245 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1241 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 197:
-#line 1247 "perly.y"
- { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1243 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_OR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 198:
-#line 1249 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1245 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 199:
-#line 1251 "perly.y"
- { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1247 "perly.y"
+ { (yyval.opval) = newLOGOP(OP_DOR, 0, (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 200:
-#line 1253 "perly.y"
- { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1249 "perly.y"
+ { (yyval.opval) = bind_match((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 201:
-#line 1255 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1251 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 202:
-#line 1259 "perly.y"
- { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
+#line 1255 "perly.y"
+ { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
break;
case 203:
-#line 1261 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1257 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 204:
-#line 1263 "perly.y"
- { yyerror("syntax error"); YYERROR; }
+#line 1259 "perly.y"
+ { yyerror("syntax error"); YYERROR; }
break;
case 205:
-#line 1265 "perly.y"
- { yyerror("syntax error"); YYERROR; }
+#line 1261 "perly.y"
+ { yyerror("syntax error"); YYERROR; }
break;
case 206:
-#line 1267 "perly.y"
- { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
+#line 1263 "perly.y"
+ { (yyval.opval) = build_infix_plugin((ps[-2].val.opval), (ps[0].val.opval), (ps[-1].val.pval)); }
break;
case 207:
-#line 1271 "perly.y"
- { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1267 "perly.y"
+ { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 208:
-#line 1273 "perly.y"
- { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1269 "perly.y"
+ { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 209:
-#line 1277 "perly.y"
- { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
+#line 1273 "perly.y"
+ { (yyval.opval) = cmpchain_finish((ps[0].val.opval)); }
break;
case 210:
-#line 1279 "perly.y"
- { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
+#line 1275 "perly.y"
+ { (yyval.opval) = newBINOP((ps[-1].val.ival), 0, scalar((ps[-2].val.opval)), scalar((ps[0].val.opval))); }
break;
case 211:
-#line 1281 "perly.y"
- { yyerror("syntax error"); YYERROR; }
+#line 1277 "perly.y"
+ { yyerror("syntax error"); YYERROR; }
break;
case 212:
-#line 1283 "perly.y"
- { yyerror("syntax error"); YYERROR; }
+#line 1279 "perly.y"
+ { yyerror("syntax error"); YYERROR; }
break;
case 213:
-#line 1287 "perly.y"
- { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1283 "perly.y"
+ { (yyval.opval) = cmpchain_start((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 214:
-#line 1289 "perly.y"
- { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1285 "perly.y"
+ { (yyval.opval) = cmpchain_extend((ps[-1].val.ival), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 215:
-#line 1294 "perly.y"
- { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); }
+#line 1290 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NEGATE, 0, scalar((ps[0].val.opval))); }
break;
case 216:
-#line 1296 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1292 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 217:
-#line 1299 "perly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
+#line 1295 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
break;
case 218:
-#line 1301 "perly.y"
- { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); }
+#line 1297 "perly.y"
+ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, scalar((ps[0].val.opval))); }
break;
case 219:
-#line 1303 "perly.y"
- { (yyval.opval) = newUNOP(OP_POSTINC, 0,
+#line 1299 "perly.y"
+ { (yyval.opval) = newUNOP(OP_POSTINC, 0,
op_lvalue(scalar((ps[-1].val.opval)), OP_POSTINC)); }
break;
case 220:
-#line 1306 "perly.y"
- { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
+#line 1302 "perly.y"
+ { (yyval.opval) = newUNOP(OP_POSTDEC, 0,
op_lvalue(scalar((ps[-1].val.opval)), OP_POSTDEC));}
break;
case 221:
-#line 1309 "perly.y"
- { (yyval.opval) = op_convert_list(OP_JOIN, 0,
+#line 1305 "perly.y"
+ { (yyval.opval) = op_convert_list(OP_JOIN, 0,
op_append_elem(
OP_LIST,
newSVREF(scalar(
@@ -1705,48 +1701,48 @@ case 2:
break;
case 222:
-#line 1320 "perly.y"
- { (yyval.opval) = newUNOP(OP_PREINC, 0,
+#line 1316 "perly.y"
+ { (yyval.opval) = newUNOP(OP_PREINC, 0,
op_lvalue(scalar((ps[0].val.opval)), OP_PREINC)); }
break;
case 223:
-#line 1323 "perly.y"
- { (yyval.opval) = newUNOP(OP_PREDEC, 0,
+#line 1319 "perly.y"
+ { (yyval.opval) = newUNOP(OP_PREDEC, 0,
op_lvalue(scalar((ps[0].val.opval)), OP_PREDEC)); }
break;
case 224:
-#line 1331 "perly.y"
- { (yyval.opval) = newANONLIST((ps[-1].val.opval)); }
+#line 1327 "perly.y"
+ { (yyval.opval) = newANONLIST((ps[-1].val.opval)); }
break;
case 225:
-#line 1333 "perly.y"
- { (yyval.opval) = newANONHASH((ps[-2].val.opval)); }
+#line 1329 "perly.y"
+ { (yyval.opval) = newANONHASH((ps[-2].val.opval)); }
break;
case 226:
-#line 1335 "perly.y"
- { SvREFCNT_inc_simple_void(PL_compcv);
+#line 1331 "perly.y"
+ { SvREFCNT_inc_simple_void(PL_compcv);
(yyval.opval) = newANONATTRSUB((ps[-3].val.ival), (ps[-2].val.opval), (ps[-1].val.opval), (ps[0].val.opval)); }
break;
case 227:
-#line 1338 "perly.y"
- { SvREFCNT_inc_simple_void(PL_compcv);
+#line 1334 "perly.y"
+ { SvREFCNT_inc_simple_void(PL_compcv);
(yyval.opval) = newANONATTRSUB((ps[-2].val.ival), NULL, (ps[-1].val.opval), (ps[0].val.opval)); }
break;
case 228:
-#line 1341 "perly.y"
- {
+#line 1337 "perly.y"
+ {
croak_kw_unless_class("method");
class_prepare_method_parse(PL_compcv);
}
@@ -1754,110 +1750,109 @@ case 2:
break;
case 229:
-#line 1346 "perly.y"
- {
+#line 1342 "perly.y"
+ {
OP *body = (ps[0].val.opval);
SvREFCNT_inc_simple_void(PL_compcv);
- body = class_wrap_method_body(body);
(yyval.opval) = newANONATTRSUB((ps[-3].val.ival), NULL, (ps[-1].val.opval), body);
}
break;
case 230:
-#line 1357 "perly.y"
- { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));}
+#line 1352 "perly.y"
+ { (yyval.opval) = dofile((ps[0].val.opval), (ps[-1].val.ival));}
break;
case 231:
-#line 1359 "perly.y"
- { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));}
+#line 1354 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NULL, OPf_SPECIAL, op_scope((ps[0].val.opval)));}
break;
case 236:
-#line 1367 "perly.y"
- { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); }
+#line 1362 "perly.y"
+ { (yyval.opval) = newCONDOP(0, (ps[-4].val.opval), (ps[-2].val.opval), (ps[0].val.opval)); }
break;
case 237:
-#line 1369 "perly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); }
+#line 1364 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REFGEN, 0, (ps[0].val.opval)); }
break;
case 238:
-#line 1371 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1366 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 239:
-#line 1373 "perly.y"
- { (yyval.opval) = localize((ps[0].val.opval),0); }
+#line 1368 "perly.y"
+ { (yyval.opval) = localize((ps[0].val.opval),0); }
break;
case 240:
-#line 1375 "perly.y"
- { (yyval.opval) = sawparens((ps[-1].val.opval)); }
+#line 1370 "perly.y"
+ { (yyval.opval) = sawparens((ps[-1].val.opval)); }
break;
case 241:
-#line 1377 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1372 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 242:
-#line 1379 "perly.y"
- { (yyval.opval) = sawparens(newNULLLIST()); }
+#line 1374 "perly.y"
+ { (yyval.opval) = sawparens(newNULLLIST()); }
break;
case 243:
-#line 1381 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1376 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 244:
-#line 1383 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1378 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 245:
-#line 1385 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1380 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 246:
-#line 1387 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1382 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 247:
-#line 1389 "perly.y"
- { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));}
+#line 1384 "perly.y"
+ { (yyval.opval) = newUNOP(OP_AV2ARYLEN, 0, ref((ps[0].val.opval), OP_AV2ARYLEN));}
break;
case 248:
-#line 1391 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1386 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 249:
-#line 1393 "perly.y"
- { (yyval.opval) = op_prepend_elem(OP_ASLICE,
+#line 1388 "perly.y"
+ { (yyval.opval) = op_prepend_elem(OP_ASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_ASLICE, 0,
list((ps[-1].val.opval)),
@@ -1870,8 +1865,8 @@ case 2:
break;
case 250:
-#line 1403 "perly.y"
- { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
+#line 1398 "perly.y"
+ { (yyval.opval) = op_prepend_elem(OP_KVASLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVASLICE, 0,
list((ps[-1].val.opval)),
@@ -1884,8 +1879,8 @@ case 2:
break;
case 251:
-#line 1413 "perly.y"
- { (yyval.opval) = op_prepend_elem(OP_HSLICE,
+#line 1408 "perly.y"
+ { (yyval.opval) = op_prepend_elem(OP_HSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_HSLICE, 0,
list((ps[-2].val.opval)),
@@ -1898,8 +1893,8 @@ case 2:
break;
case 252:
-#line 1423 "perly.y"
- { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
+#line 1418 "perly.y"
+ { (yyval.opval) = op_prepend_elem(OP_KVHSLICE,
newOP(OP_PUSHMARK, 0),
newLISTOP(OP_KVHSLICE, 0,
list((ps[-2].val.opval)),
@@ -1912,27 +1907,27 @@ case 2:
break;
case 253:
-#line 1433 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1428 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 254:
-#line 1435 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); }
+#line 1430 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0, scalar((ps[0].val.opval))); }
break;
case 255:
-#line 1437 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval)));
+#line 1432 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[-2].val.opval)));
}
break;
case 256:
-#line 1440 "perly.y"
- {
+#line 1435 "perly.y"
+ {
(yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[-1].val.opval), scalar((ps[-3].val.opval))));
}
@@ -1940,153 +1935,153 @@ case 2:
break;
case 257:
-#line 1445 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+#line 1440 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval))));
}
break;
case 258:
-#line 1449 "perly.y"
- { (yyval.opval) = newSVREF((ps[-3].val.opval)); }
+#line 1444 "perly.y"
+ { (yyval.opval) = newSVREF((ps[-3].val.opval)); }
break;
case 259:
-#line 1451 "perly.y"
- { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
+#line 1446 "perly.y"
+ { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
break;
case 260:
-#line 1453 "perly.y"
- { (yyval.opval) = newHVREF((ps[-3].val.opval)); }
+#line 1448 "perly.y"
+ { (yyval.opval) = newHVREF((ps[-3].val.opval)); }
break;
case 261:
-#line 1455 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
+#line 1450 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, 0,
scalar(newCVREF((ps[-1].val.ival),(ps[-3].val.opval)))); }
break;
case 262:
-#line 1458 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); }
+#line 1453 "perly.y"
+ { (yyval.opval) = newGVREF(0,(ps[-3].val.opval)); }
break;
case 263:
-#line 1460 "perly.y"
- { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL);
+#line 1455 "perly.y"
+ { (yyval.opval) = newOP((ps[0].val.ival), OPf_SPECIAL);
PL_hints |= HINT_BLOCK_SCOPE; }
break;
case 264:
-#line 1463 "perly.y"
- { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); }
+#line 1458 "perly.y"
+ { (yyval.opval) = newLOOPEX((ps[-1].val.ival),(ps[0].val.opval)); }
break;
case 265:
-#line 1465 "perly.y"
- { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
+#line 1460 "perly.y"
+ { (yyval.opval) = newUNOP(OP_NOT, 0, scalar((ps[0].val.opval))); }
break;
case 266:
-#line 1467 "perly.y"
- { (yyval.opval) = newOP((ps[0].val.ival), 0); }
+#line 1462 "perly.y"
+ { (yyval.opval) = newOP((ps[0].val.ival), 0); }
break;
case 267:
-#line 1469 "perly.y"
- { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
+#line 1464 "perly.y"
+ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
break;
case 268:
-#line 1471 "perly.y"
- { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
+#line 1466 "perly.y"
+ { (yyval.opval) = newUNOP((ps[-1].val.ival), 0, (ps[0].val.opval)); }
break;
case 269:
-#line 1473 "perly.y"
- { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); }
+#line 1468 "perly.y"
+ { (yyval.opval) = newOP(OP_REQUIRE, (ps[0].val.ival) ? OPf_SPECIAL : 0); }
break;
case 270:
-#line 1475 "perly.y"
- { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); }
+#line 1470 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REQUIRE, (ps[-1].val.ival) ? OPf_SPECIAL : 0, (ps[0].val.opval)); }
break;
case 271:
-#line 1477 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
+#line 1472 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
break;
case 272:
-#line 1479 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
+#line 1474 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED,
op_append_elem(OP_LIST, (ps[0].val.opval), scalar((ps[-1].val.opval)))); }
break;
case 273:
-#line 1482 "perly.y"
- { (yyval.opval) = newOP((ps[0].val.ival), 0); }
+#line 1477 "perly.y"
+ { (yyval.opval) = newOP((ps[0].val.ival), 0); }
break;
case 274:
-#line 1484 "perly.y"
- { (yyval.opval) = newOP((ps[-2].val.ival), 0);}
+#line 1479 "perly.y"
+ { (yyval.opval) = newOP((ps[-2].val.ival), 0);}
break;
case 275:
-#line 1486 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1481 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 276:
-#line 1488 "perly.y"
- { (yyval.opval) = (ps[-2].val.opval); }
+#line 1483 "perly.y"
+ { (yyval.opval) = (ps[-2].val.opval); }
break;
case 277:
-#line 1490 "perly.y"
- { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
+#line 1485 "perly.y"
+ { (yyval.opval) = newUNOP(OP_ENTERSUB, OPf_STACKED, scalar((ps[0].val.opval))); }
break;
case 278:
-#line 1492 "perly.y"
- { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT)
+#line 1487 "perly.y"
+ { (yyval.opval) = ((ps[-2].val.ival) == OP_NOT)
? newUNOP((ps[-2].val.ival), 0, newSVOP(OP_CONST, 0, newSViv(0)))
: newOP((ps[-2].val.ival), OPf_SPECIAL); }
break;
case 279:
-#line 1496 "perly.y"
- { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
+#line 1491 "perly.y"
+ { (yyval.opval) = newUNOP((ps[-3].val.ival), 0, (ps[-1].val.opval)); }
break;
case 280:
-#line 1498 "perly.y"
- {
+#line 1493 "perly.y"
+ {
if ( (ps[0].val.opval)->op_type != OP_TRANS
&& (ps[0].val.opval)->op_type != OP_TRANSR
&& (((PMOP*)(ps[0].val.opval))->op_pmflags & PMf_HAS_CV))
@@ -2100,68 +2095,68 @@ case 2:
break;
case 281:
-#line 1509 "perly.y"
- { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); }
+#line 1504 "perly.y"
+ { (yyval.opval) = pmruntime((ps[-5].val.opval), (ps[-2].val.opval), (ps[-1].val.opval), 1, (ps[-4].val.ival)); }
break;
case 285:
-#line 1518 "perly.y"
- { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); }
+#line 1513 "perly.y"
+ { (yyval.opval) = my_attrs((ps[-1].val.opval),(ps[0].val.opval)); }
break;
case 286:
-#line 1520 "perly.y"
- { (yyval.opval) = localize((ps[0].val.opval),1); }
+#line 1515 "perly.y"
+ { (yyval.opval) = localize((ps[0].val.opval),1); }
break;
case 287:
-#line 1522 "perly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); }
+#line 1517 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REFGEN, 0, my_attrs((ps[-1].val.opval),(ps[0].val.opval))); }
break;
case 288:
-#line 1524 "perly.y"
- { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); }
+#line 1519 "perly.y"
+ { (yyval.opval) = newUNOP(OP_REFGEN, 0, localize((ps[0].val.opval),1)); }
break;
case 289:
-#line 1529 "perly.y"
- { (yyval.opval) = sawparens((ps[-1].val.opval)); }
+#line 1524 "perly.y"
+ { (yyval.opval) = sawparens((ps[-1].val.opval)); }
break;
case 290:
-#line 1531 "perly.y"
- { (yyval.opval) = sawparens(newNULLLIST()); }
+#line 1526 "perly.y"
+ { (yyval.opval) = sawparens(newNULLLIST()); }
break;
case 291:
-#line 1534 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1529 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 292:
-#line 1536 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1531 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 293:
-#line 1538 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1533 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 294:
-#line 1543 "perly.y"
- {
+#line 1538 "perly.y"
+ {
(yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ];
op_free((ps[0].val.opval));
}
@@ -2169,8 +2164,8 @@ case 2:
break;
case 295:
-#line 1548 "perly.y"
- {
+#line 1543 "perly.y"
+ {
(yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ];
op_free((ps[0].val.opval));
}
@@ -2178,8 +2173,8 @@ case 2:
break;
case 296:
-#line 1553 "perly.y"
- {
+#line 1548 "perly.y"
+ {
(yyval.pval) = PadnamelistARRAY(PL_comppad_name)[(ps[0].val.opval)->op_targ];
op_free((ps[0].val.opval));
}
@@ -2187,20 +2182,20 @@ case 2:
break;
case 297:
-#line 1561 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1556 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 298:
-#line 1563 "perly.y"
- { (yyval.opval) = NULL; }
+#line 1558 "perly.y"
+ { (yyval.opval) = NULL; }
break;
case 300:
-#line 1569 "perly.y"
- {
+#line 1564 "perly.y"
+ {
parser->in_my = 0;
if((ps[0].val.opval))
class_apply_field_attributes((PADNAME *)(ps[-1].val.pval), (ps[0].val.opval));
@@ -2210,8 +2205,8 @@ case 2:
break;
case 301:
-#line 1576 "perly.y"
- {
+#line 1571 "perly.y"
+ {
parser->in_my = 0;
if((ps[-1].val.opval))
class_apply_field_attributes((PADNAME *)(ps[-2].val.pval), (ps[-1].val.opval));
@@ -2222,8 +2217,8 @@ case 2:
break;
case 302:
-#line 1584 "perly.y"
- {
+#line 1579 "perly.y"
+ {
class_set_field_defop((PADNAME *)(ps[-4].val.pval), (ps[-2].val.ival), (ps[0].val.opval));
LEAVE;
(yyval.opval) = newOP(OP_NULL, 0);
@@ -2232,132 +2227,131 @@ case 2:
break;
case 308:
-#line 1604 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1599 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
case 309:
-#line 1610 "perly.y"
- { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
+#line 1605 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = my((ps[0].val.opval)); }
break;
case 310:
-#line 1615 "perly.y"
- { (yyval.opval) = (ps[-1].val.opval); }
+#line 1610 "perly.y"
+ { (yyval.opval) = (ps[-1].val.opval); }
break;
case 311:
-#line 1617 "perly.y"
- {
+#line 1612 "perly.y"
+ {
(yyval.opval) = op_append_elem(OP_LIST, (ps[-2].val.opval), (ps[0].val.opval));
}
break;
case 313:
-#line 1624 "perly.y"
- { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
+#line 1619 "perly.y"
+ { parser->in_my = 0; (yyval.opval) = (ps[0].val.opval); }
break;
case 321:
-#line 1641 "perly.y"
- { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); }
+#line 1636 "perly.y"
+ { (yyval.opval) = newCVREF((ps[-1].val.ival),(ps[0].val.opval)); }
break;
case 322:
-#line 1645 "perly.y"
- { (yyval.opval) = newSVREF((ps[0].val.opval)); }
+#line 1640 "perly.y"
+ { (yyval.opval) = newSVREF((ps[0].val.opval)); }
break;
case 323:
-#line 1649 "perly.y"
- { (yyval.opval) = newAVREF((ps[0].val.opval));
+#line 1644 "perly.y"
+ { (yyval.opval) = newAVREF((ps[0].val.opval));
if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
}
break;
case 324:
-#line 1655 "perly.y"
- { (yyval.opval) = newHVREF((ps[0].val.opval));
+#line 1650 "perly.y"
+ { (yyval.opval) = newHVREF((ps[0].val.opval));
if ((yyval.opval)) (yyval.opval)->op_private |= (ps[-1].val.ival);
}
break;
case 325:
-#line 1661 "perly.y"
- { (yyval.opval) = newAVREF((ps[0].val.opval)); }
+#line 1656 "perly.y"
+ { (yyval.opval) = newAVREF((ps[0].val.opval)); }
break;
case 326:
-#line 1663 "perly.y"
- { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
+#line 1658 "perly.y"
+ { (yyval.opval) = newAVREF((ps[-3].val.opval)); }
break;
case 327:
-#line 1667 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); }
+#line 1662 "perly.y"
+ { (yyval.opval) = newGVREF(0,(ps[0].val.opval)); }
break;
case 329:
-#line 1672 "perly.y"
- { (yyval.opval) = newAVREF((ps[-2].val.opval)); }
+#line 1667 "perly.y"
+ { (yyval.opval) = newAVREF((ps[-2].val.opval)); }
break;
case 331:
-#line 1677 "perly.y"
- { (yyval.opval) = newHVREF((ps[-2].val.opval)); }
+#line 1672 "perly.y"
+ { (yyval.opval) = newHVREF((ps[-2].val.opval)); }
break;
case 333:
-#line 1682 "perly.y"
- { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); }
+#line 1677 "perly.y"
+ { (yyval.opval) = newGVREF(0,(ps[-2].val.opval)); }
break;
case 334:
-#line 1687 "perly.y"
- { (yyval.opval) = scalar((ps[0].val.opval)); }
+#line 1682 "perly.y"
+ { (yyval.opval) = scalar((ps[0].val.opval)); }
break;
case 335:
-#line 1689 "perly.y"
- { (yyval.opval) = scalar((ps[0].val.opval)); }
+#line 1684 "perly.y"
+ { (yyval.opval) = scalar((ps[0].val.opval)); }
break;
case 336:
-#line 1691 "perly.y"
- { (yyval.opval) = op_scope((ps[0].val.opval)); }
+#line 1686 "perly.y"
+ { (yyval.opval) = op_scope((ps[0].val.opval)); }
break;
case 337:
-#line 1694 "perly.y"
- { (yyval.opval) = (ps[0].val.opval); }
+#line 1689 "perly.y"
+ { (yyval.opval) = (ps[0].val.opval); }
break;
-
default: break;
/* Generated from:
- * 772de3ed75dc4010fd79a22e9c90253232ab5af632d3657c55a670d510ee71ef perly.y
+ * 34b94e3dc142e7bf1c8e8b762405941130c293e8cf1a1cf727180f9f4189b5e5 perly.y
* acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
* ex: set ro ft=C: */
diff --git a/perly.h b/perly.h
index 2faba5b4f0..ff7e927b80 100644
--- a/perly.h
+++ b/perly.h
@@ -4,14 +4,14 @@
Any changes made here will be lost!
*/
-#define PERL_BISON_VERSION 30005
+#define PERL_BISON_VERSION 30003
#ifdef PERL_CORE
-/* A Bison parser, made by GNU Bison 3.5.1. */
+/* A Bison parser, made by GNU Bison 3.3. */
/* Bison interface for Yacc-like parsers in C
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2019 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
@@ -213,6 +213,7 @@ S_is_opval_token(int type) {
#endif /* PERL_IN_TOKE_C */
#endif /* PERL_CORE */
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
union YYSTYPE
{
@@ -222,8 +223,8 @@ union YYSTYPE
OP *opval;
GV *gvval;
-
};
+
typedef union YYSTYPE YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define YYSTYPE_IS_DECLARED 1
@@ -235,6 +236,6 @@ int yyparse (void);
/* Generated from:
- * 772de3ed75dc4010fd79a22e9c90253232ab5af632d3657c55a670d510ee71ef perly.y
+ * 34b94e3dc142e7bf1c8e8b762405941130c293e8cf1a1cf727180f9f4189b5e5 perly.y
* acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
* ex: set ro ft=C: */
diff --git a/perly.tab b/perly.tab
index 0a3acb36e5..e55dc7b9f6 100644
--- a/perly.tab
+++ b/perly.tab
@@ -20,11 +20,10 @@
#define YYUNDEFTOK 2
#define YYMAXUTOK 385
-
/* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
as returned by yylex, with out-of-bounds checking. */
#define YYTRANSLATE(YYX) \
- (0 <= (YYX) && (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
+ ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
/* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
as returned by yylex. */
@@ -73,42 +72,42 @@ static const yytype_uint8 yytranslate[] =
#if YYDEBUG
/* YYRLINE[YYN] -- Source line where rule number YYN was defined. */
-static const yytype_int16 yyrline[] =
+static const yytype_uint16 yyrline[] =
{
0, 161, 161, 160, 172, 171, 182, 181, 195, 194,
208, 207, 221, 220, 231, 230, 244, 246, 251, 259,
263, 270, 275, 282, 288, 292, 294, 291, 301, 302,
312, 313, 322, 326, 330, 337, 347, 349, 362, 359,
- 383, 378, 409, 408, 435, 446, 458, 457, 468, 474,
- 480, 485, 487, 489, 496, 504, 506, 503, 523, 528,
- 537, 544, 543, 558, 566, 573, 572, 587, 594, 593,
- 609, 608, 628, 632, 636, 640, 646, 654, 672, 673,
- 677, 681, 683, 685, 687, 689, 691, 693, 696, 702,
- 703, 708, 719, 720, 725, 727, 732, 739, 740, 744,
- 748, 752, 757, 761, 765, 766, 769, 775, 780, 786,
- 787, 792, 793, 798, 799, 806, 811, 813, 824, 826,
- 831, 833, 837, 857, 858, 860, 873, 933, 935, 941,
- 943, 947, 953, 954, 959, 960, 964, 968, 968, 1035,
- 1036, 1041, 1053, 1054, 1058, 1069, 1071, 1073, 1075, 1077,
- 1081, 1083, 1088, 1092, 1096, 1100, 1106, 1111, 1117, 1123,
- 1125, 1127, 1130, 1129, 1140, 1141, 1145, 1149, 1152, 1157,
- 1162, 1165, 1169, 1173, 1179, 1187, 1194, 1200, 1202, 1204,
- 1209, 1211, 1213, 1215, 1217, 1219, 1224, 1226, 1228, 1230,
- 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246, 1248, 1250,
- 1252, 1254, 1258, 1260, 1262, 1264, 1266, 1270, 1272, 1276,
- 1278, 1280, 1282, 1286, 1288, 1293, 1295, 1298, 1300, 1302,
- 1305, 1308, 1319, 1322, 1330, 1332, 1334, 1337, 1341, 1340,
- 1356, 1358, 1362, 1363, 1364, 1365, 1366, 1368, 1370, 1372,
- 1374, 1376, 1378, 1380, 1382, 1384, 1386, 1388, 1390, 1392,
- 1402, 1412, 1422, 1432, 1434, 1436, 1439, 1444, 1448, 1450,
- 1452, 1454, 1457, 1459, 1462, 1464, 1466, 1468, 1470, 1472,
- 1474, 1476, 1478, 1481, 1483, 1485, 1487, 1489, 1491, 1495,
- 1498, 1497, 1510, 1511, 1512, 1517, 1519, 1521, 1523, 1528,
- 1530, 1533, 1535, 1537, 1542, 1547, 1552, 1560, 1562, 1564,
- 1568, 1576, 1575, 1593, 1594, 1598, 1599, 1603, 1604, 1609,
- 1614, 1616, 1620, 1623, 1627, 1628, 1629, 1632, 1633, 1636,
- 1637, 1640, 1644, 1648, 1654, 1660, 1662, 1666, 1670, 1671,
- 1675, 1676, 1680, 1681, 1686, 1688, 1690, 1693
+ 383, 378, 406, 405, 431, 442, 454, 453, 464, 470,
+ 476, 481, 483, 485, 492, 500, 502, 499, 519, 524,
+ 533, 540, 539, 554, 562, 569, 568, 583, 590, 589,
+ 605, 604, 624, 628, 632, 636, 642, 650, 668, 669,
+ 673, 677, 679, 681, 683, 685, 687, 689, 692, 698,
+ 699, 704, 715, 716, 721, 723, 728, 735, 736, 740,
+ 744, 748, 753, 757, 761, 762, 765, 771, 776, 782,
+ 783, 788, 789, 794, 795, 802, 807, 809, 820, 822,
+ 827, 829, 833, 853, 854, 856, 869, 929, 931, 937,
+ 939, 943, 949, 950, 955, 956, 960, 964, 964, 1031,
+ 1032, 1037, 1049, 1050, 1054, 1065, 1067, 1069, 1071, 1073,
+ 1077, 1079, 1084, 1088, 1092, 1096, 1102, 1107, 1113, 1119,
+ 1121, 1123, 1126, 1125, 1136, 1137, 1141, 1145, 1148, 1153,
+ 1158, 1161, 1165, 1169, 1175, 1183, 1190, 1196, 1198, 1200,
+ 1205, 1207, 1209, 1211, 1213, 1215, 1220, 1222, 1224, 1226,
+ 1228, 1230, 1232, 1234, 1236, 1238, 1240, 1242, 1244, 1246,
+ 1248, 1250, 1254, 1256, 1258, 1260, 1262, 1266, 1268, 1272,
+ 1274, 1276, 1278, 1282, 1284, 1289, 1291, 1294, 1296, 1298,
+ 1301, 1304, 1315, 1318, 1326, 1328, 1330, 1333, 1337, 1336,
+ 1351, 1353, 1357, 1358, 1359, 1360, 1361, 1363, 1365, 1367,
+ 1369, 1371, 1373, 1375, 1377, 1379, 1381, 1383, 1385, 1387,
+ 1397, 1407, 1417, 1427, 1429, 1431, 1434, 1439, 1443, 1445,
+ 1447, 1449, 1452, 1454, 1457, 1459, 1461, 1463, 1465, 1467,
+ 1469, 1471, 1473, 1476, 1478, 1480, 1482, 1484, 1486, 1490,
+ 1493, 1492, 1505, 1506, 1507, 1512, 1514, 1516, 1518, 1523,
+ 1525, 1528, 1530, 1532, 1537, 1542, 1547, 1555, 1557, 1559,
+ 1563, 1571, 1570, 1588, 1589, 1593, 1594, 1598, 1599, 1604,
+ 1609, 1611, 1615, 1618, 1622, 1623, 1624, 1627, 1628, 1631,
+ 1632, 1635, 1639, 1643, 1649, 1655, 1657, 1661, 1665, 1666,
+ 1670, 1671, 1675, 1676, 1681, 1683, 1685, 1688
};
#endif
@@ -169,7 +168,7 @@ static const char *const yytname[] =
# ifdef YYPRINT
/* YYTOKNUM[NUM] -- (External) token number corresponding to the
(internal) symbol number NUM (which must be that of a token). */
-static const yytype_int16 yytoknum[] =
+static const yytype_uint16 yytoknum[] =
{
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
@@ -188,15 +187,15 @@ static const yytype_int16 yytoknum[] =
};
# endif
-#define YYPACT_NINF (-546)
+#define YYPACT_NINF -546
-#define yypact_value_is_default(Yyn) \
- ((Yyn) == YYPACT_NINF)
+#define yypact_value_is_default(Yystate) \
+ (!!((Yystate) == (-546)))
-#define YYTABLE_NINF (-336)
+#define YYTABLE_NINF -336
-#define yytable_value_is_error(Yyn) \
- ((Yyn) == YYTABLE_NINF)
+#define yytable_value_is_error(Yytable_value) \
+ (!!((Yytable_value) == (-336)))
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
STATE-NUM. */
@@ -274,7 +273,7 @@ static const yytype_int16 yypact[] =
/* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
Performed when YYTABLE does not specify something else to do. Zero
means the default is an error. */
-static const yytype_int16 yydefact[] =
+static const yytype_uint16 yydefact[] =
{
0, 2, 4, 6, 8, 10, 12, 14, 0, 21,
19, 0, 0, 0, 19, 137, 1, 19, 0, 19,
@@ -1237,7 +1236,7 @@ static const yytype_uint8 yyr1[] =
};
/* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN. */
-static const yytype_int8 yyr2[] =
+static const yytype_uint8 yyr2[] =
{
0, 2, 0, 4, 0, 3, 0, 3, 0, 3,
0, 3, 0, 3, 0, 3, 1, 1, 4, 0,
@@ -1331,6 +1330,6 @@ static const toketypes yy_type_tab[] =
};
/* Generated from:
- * 772de3ed75dc4010fd79a22e9c90253232ab5af632d3657c55a670d510ee71ef perly.y
+ * 34b94e3dc142e7bf1c8e8b762405941130c293e8cf1a1cf727180f9f4189b5e5 perly.y
* acf1cbfd2545faeaaa58b1cf0cf9d7f98b5be0752eb7a54528ef904a9e2e1ca7 regen_perly.pl
* ex: set ro ft=C: */
diff --git a/perly.y b/perly.y
index 8a3b8dcd12..ae5c22993f 100644
--- a/perly.y
+++ b/perly.y
@@ -394,9 +394,6 @@ barestmt: PLUGSTMT
OP *body = $optsigsubbody;
SvREFCNT_inc_simple_void(PL_compcv);
- if($sigsub_or_method_named == KW_METHOD_named) {
- body = class_wrap_method_body(body);
- }
$subname->op_type == OP_CONST
? newATTRSUB($startsub, $subname, NULL, $subattrlist, body)
: newMYSUB( $startsub, $subname, NULL, $subattrlist, body)
@@ -425,7 +422,6 @@ barestmt: PLUGSTMT
switch($PHASER) {
case KEY_ADJUST:
- body = class_wrap_method_body(body);
cv = newATTRSUB($startsub, NULL, NULL, NULL, body);
class_add_ADJUST(PL_curstash, cv);
break;
@@ -1347,7 +1343,6 @@ anonymous
OP *body = $sigsubbody;
SvREFCNT_inc_simple_void(PL_compcv);
- body = class_wrap_method_body(body);
$$ = newANONATTRSUB($startanonsub, NULL, $subattrlist, body);
}
;