Branch Coverage

Alias.xs
Criterion Covered Total %
branch 661 990 66.7


line true false branch
336 13 0 if (SvTYPE(a2) == SVt_PVGV)
338 0 0 else if (!SvROK(a2) || !(a2 = SvRV(a2))
0 0 else if (!SvROK(a2) || !(a2 = SvRV(a2))
339 0 0 || (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV))
0 0 || (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV))
352 8 0 return svp ? *svp : &PL_sv_undef;
355 4 0 return he ? HeVAL(he) : &PL_sv_undef;
403 0 26 PREP_ALIAS_INC(value);
1 0 PREP_ALIAS_INC(value);
1 0 PREP_ALIAS_INC(value);
0 1 PREP_ALIAS_INC(value);
1 4 PREP_ALIAS_INC(value);
1 0 PREP_ALIAS_INC(value);
406 14 12 if (old != &PL_sv_undef)
411 25 149 if ((Size_t) a1 == DA_ALIAS_PAD)
414 2 147 PREP_ALIAS_INC(value);
0 0 PREP_ALIAS_INC(value);
0 0 PREP_ALIAS_INC(value);
0 0 PREP_ALIAS_INC(value);
0 10 PREP_ALIAS_INC(value);
0 0 PREP_ALIAS_INC(value);
419 90 7 if (SvTYPE(a2) == SVt_PVGV) {
426 5 9 if (!SvROK(value)) {
428 12 0 SvSetMagicSV(a2, value);
0 12 SvSetMagicSV(a2, value);
443 1 0 if (oldcv != (CV *) value) {
444 0 1 if (GvCVGEN(gv)) {
453 1 0 if (GvINTRO(gv)) {
457 0 1 SSCHECK(1);
474 5 93 if (GvINTRO(gv)) {
490 0 23 if (!av_store((AV *) a1, (SSize_t) a2, value))
494 1 14 if (value == &PL_sv_undef) {
498 0 14 if (!hv_store_ent((HV *) a1, a2, value, 0))
518 11 3 if (gp->gp_refcnt > 1) {
530 0 14 SSCHECK(2);
540 0 84 PREP_ALIAS_INC(sv);
0 0 PREP_ALIAS_INC(sv);
0 0 PREP_ALIAS_INC(sv);
0 0 PREP_ALIAS_INC(sv);
0 22 PREP_ALIAS_INC(sv);
0 0 PREP_ALIAS_INC(sv);
557 4 0 if (GIMME_V != G_LIST) {
559 4 0 *MARK = da_refgen(aTHX_ MARK <= SP ? TOPs : &PL_sv_undef);
562 0 0 EXTEND_MORTAL(SP - MARK);
563 0 0 while (++MARK <= SP)
577 19 13 while (i--)
579 9 4 if (PL_op->op_flags & OPf_SPECIAL) {
585 0 13 XPUSHs(sv);
593 32 21 while (MARK < SP) {
596 30 2 if (MARK < SP)
598 1 1 else if (ckWARN(WARN_MISC))
601 3 28 if (val == &PL_sv_undef)
607 17 4 if (PL_op->op_flags & OPf_SPECIAL) {
613 0 21 XPUSHs(sv);
625 8 9 (AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv);
9 0 (AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv);
630 0 17 if (!av_fetch(av, index, TRUE))
632 0 17 XPUSHaa(av, index);
643 0 0 if (!av_fetch(av, index, TRUE))
646 0 0 PREP_ALIAS_INC(value);
0 0 PREP_ALIAS_INC(value);
0 0 PREP_ALIAS_INC(value);
0 0 PREP_ALIAS_INC(value);
0 0 PREP_ALIAS_INC(value);
0 0 PREP_ALIAS_INC(value);
647 0 0 if (!av_store(av, index, value))
655 6 6 while (mg) {
656 0 6 if (isUPPER(mg->mg_type))
668 0 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
670 0 4 if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC))
0 0 if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC))
0 0 if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC))
0 0 if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC))
0 0 if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC))
0 0 if (SvROK(elem) && !SvGAMAGIC(elem) && ckWARN(WARN_MISC))
673 0 4 if (SvTYPE(av) != SVt_PVAV)
675 4 0 if (index > DA_ARRAY_MAXIDX || !(svp = av_fetch(av, index, TRUE)))
0 4 if (index > DA_ARRAY_MAXIDX || !(svp = av_fetch(av, index, TRUE)))
677 2 2 if (PL_op->op_private & OPpLVAL_INTRO)
720 0 11 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
0 0 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
723 11 0 if (SvTYPE(hv) == SVt_PVHV) {
725 2 9 if (localizing)
727 0 11 if (!(he = hv_fetch_ent(hv, key, TRUE, 0)))
729 2 9 if (localizing) {
730 1 1 if (!existed)
758 0 3 if (SvTYPE(av) != SVt_PVAV)
760 0 3 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
763 3 0 EXTEND(sp, count);
0 3 EXTEND(sp, count);
768 6 3 while (MARK < src) {
770 6 0 if (i > DA_ARRAY_MAXIDX || (i < 0 && (i += count) < 0))
0 6 if (i > DA_ARRAY_MAXIDX || (i < 0 && (i += count) < 0))
0 0 if (i > DA_ARRAY_MAXIDX || (i < 0 && (i += count) < 0))
772 2 4 if (local)
774 2 4 if (i > max)
780 1 2 if (max > AvMAX(av))
792 0 3 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
0 0 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
794 3 0 EXTEND(sp, i);
0 3 EXTEND(sp, i);
797 3 0 if (SvTYPE(hv) == SVt_PVHV) {
798 6 3 while (MARK < src) {
799 0 6 if (!(he = hv_fetch_ent(hv, key = *src--, TRUE, 0)))
801 2 4 if (PL_op->op_private & OPpLVAL_INTRO)
831 5 2 if (PL_op->op_flags & OPf_SPECIAL) {
832 5 0 AV *av = GvAVn(PL_defgv);
833 0 5 PUSHMARK(SP);
834 1 4 if (is_single) {
835 0 1 XPUSHs((SV*)av);
837 0 4 const I32 maxarg = AvFILL(av) + 1;
838 4 0 EXTEND(SP, maxarg);
0 4 EXTEND(SP, maxarg);
839 0 4 if (SvRMAGICAL(av)) {
841 0 0 for (i=0; i < (U32)maxarg; i++) {
846 0 0 (mg_get(*svp), *svp) :
847 0 0 *svp :
856 7 0 if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) {
857 0 7 PUSHMARK(SP);
858 7 0 EXTEND(SP, count << 1);
0 7 EXTEND(SP, count << 1);
860 10 7 for(index = start; index != start+count; index++) {
862 1 9 if (is_single) {
871 10 0 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) {
872 7 3 if (da_type == DA_ALIAS_PAD) {
879 10 0 if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID)
880 3 7 PUSHaa(da_type, da_type == DA_ALIAS_PAD ?
901 0 1 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) {
913 7 15 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) {
917 0 22 XPUSHaa(DA_ALIAS_PAD, index);
923 1 0 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO)
925 0 1 XPUSHaa(DA_ALIAS_AV, TARG);
931 0 0 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO)
933 0 0 XPUSHaa(DA_ALIAS_HV, TARG);
940 4 66 if (PL_op->op_private & OPpLVAL_INTRO) {
944 0 70 XPUSHaa(DA_ALIAS_RV, gv);
951 1 0 if (PL_op->op_private & OPpLVAL_INTRO) {
955 0 1 XPUSHs(GvSV(gv));
962 10 0 if (!svp || !(egv = (GV *) *svp) || GvGP(egv) != GvGP(gv))
10 0 if (!svp || !(egv = (GV *) *svp) || GvGP(egv) != GvGP(gv))
0 10 if (!svp || !(egv = (GV *) *svp) || GvGP(egv) != GvGP(gv))
970 29 10 if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do {
2 27 if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do {
978 0 2 if (SvGMAGICAL(sv)) {
980 0 0 if (SvROK(sv))
983 0 2 if (!SvOK(sv))
985 1 1 if (PL_op->op_private & HINT_STRICT_REFS)
989 28 10 if (SvTYPE(sv) == SVt_PVGV)
990 25 3 sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv));
991 12 26 if (PL_op->op_private & OPpLVAL_INTRO) {
992 9 3 if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv))
0 9 if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv))
1006 0 35 XPUSHaa(DA_ALIAS_RV, sv);
1030 2 13 if (SvROK(sv)) {
1032 0 2 if (SvTYPE(sv) != SVt_PVGV)
1034 2 11 } else if (SvTYPE(sv) != SVt_PVGV) {
1035 0 2 if (SvGMAGICAL(sv)) {
1037 0 0 if (SvROK(sv))
1040 0 2 if (!SvOK(sv))
1042 1 1 if (PL_op->op_private & HINT_STRICT_REFS)
1046 14 0 if (SvTYPE(sv) == SVt_PVGV)
1047 7 7 sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv));
1048 11 3 if (PL_op->op_private & OPpLVAL_INTRO)
1050 0 14 XPUSHaa(DA_ALIAS_GV, sv);
1058 0 5 XPUSHaa(DA_ALIAS_AV, av);
1067 0 10 XPUSHaa(DA_ALIAS_HV, hv);
1075 17 60 if (PL_op->op_private & OPpASSIGN_BACKWARDS) {
1090 0 72 EXTEND(sp, 1);
1095 29 43 if (PL_op->op_private & OPpALIAS) {
1097 14 15 U32 type = hash ? SVt_PVHV : SVt_PVAV;
1101 0 29 if (SP != rlast)
1104 25 4 if (right != rlast || SvTYPE(*right) != type) {
4 21 if (right != rlast || SvTYPE(*right) != type) {
1105 0 8 PUSHMARK(right - 1);
1106 4 4 hash ? DataAlias_pp_anonhash(aTHX) : DataAlias_pp_anonlist(aTHX);
1111 14 15 PL_op->op_type = hash ? OP_RV2HV : OP_RV2AV;
1117 116 43 while (SP < rlast)
1118 105 11 if (!SvTEMP(*++SP))
1121 90 42 while (left <= llast) {
1123 3 87 if (a1 == &PL_sv_undef) {
1131 0 9 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
0 0 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
1134 9 0 if (done || right > rlast)
7 2 if (done || right > rlast)
1139 20 7 while (right <= rlast)
1150 5 5 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
0 5 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
1153 10 0 if (done || right > rlast)
8 2 if (done || right > rlast)
1157 3 5 if (1 & ~(rlast - right)) {
3 5 if (1 & ~(rlast - right)) {
1158 1 2 if (ckWARN(WARN_MISC))
1163 20 7 while (svp > right) {
1166 0 20 if (!he) /* is this possible? */
1169 6 14 if (SvREFCNT(tmp) > 1) { /* existing element */
1174 5 9 if (val == &PL_sv_undef)
1180 9 7 while (nils && (he = hv_iternext((HV *) a2))) {
9 0 while (nils && (he = hv_iternext((HV *) a2))) {
1181 5 4 if (HeVAL(he) == &PL_sv_undef) {
1187 3 4 if (gimme != G_LIST || !dups) {
1 2 if (gimme != G_LIST || !dups) {
1191 13 2 while (svp++ < rlast) {
1192 7 6 if (*svp)
1249 14 54 if (right > rlast)
1251 4 50 else if (done)
1259 12 30 if (gimme == G_LIST) {
1261 0 12 EXTEND(SP, 0);
1262 7 12 while (rlast < SP)
1265 12 18 } else if (gimme == G_SCALAR) {
1267 0 12 XPUSHi(rlast - SP);
0 12 XPUSHi(rlast - SP);
1276 6 8 if (SvTRUE(sv)) {
1288 8 6 if (!SvTRUE(sv)) {
1301 3 2 if (!SvOK(sv)) {
1314 1 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 1 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1316 1 4 i = AvFILL(av);
1318 7 5 while (MARK < SP)
1321 0 5 PUSHi(i + 1);
1329 0 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1332 6 4 while (MARK < SP)
1335 0 4 PUSHi(AvFILL(av) + 1);
0 4 PUSHi(AvFILL(av) + 1);
1345 0 15 if (ins < 0) /* ?! */
1347 0 15 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1351 6 9 if (off < 0 && (off += count) < 0)
0 6 if (off < 0 && (off += count) < 0)
1354 3 12 if (del < 0 && (del += count - off) < 0)
1 2 if (del < 0 && (del += count - off) < 0)
1356 2 13 if (off > count) {
1357 1 1 if (ckWARN(WARN_MISC))
1362 1 13 if ((count -= off + del) < 0) /* count of trailing elems */
1365 4 10 if (i > AvMAX(av))
1367 0 14 if (!AvREAL(av) && AvREIFY(av))
0 0 if (!AvREAL(av) && AvREIFY(av))
1372 21 14 for (i = 0; i < ins; i++)
1374 7 7 if (ins > del) {
1375 0 7 Move(svp+del, svp+ins, INT2SIZE(count), SV *);
1376 2 7 for (i = 0; i < del; i++)
1378 0 7 Copy(MARK+del, svp+del, INT2SIZE(ins-del), SV *);
1380 9 7 for (i = 0; i < ins; i++)
1382 3 4 if (ins != del)
1383 0 3 Copy(svp+ins, MARK-3+ins, INT2SIZE(del-ins), SV *);
1384 0 7 Move(svp+del, svp+ins, INT2SIZE(count), SV *);
1387 14 14 for (i = 0; i < del; i++)
1403 2 56 if (PL_op->op_flags & OPf_SPECIAL)
1416 18 40 if (gimme == G_SCALAR) {
1417 0 18 if (newsp == SP) {
1421 8 10 FREETMPS;
1424 18 22 } else if (gimme == G_LIST) {
1425 27 18 while (newsp < SP)
1426 19 8 if (!SvTEMP(sv = *++newsp))
1434 25 33 CX_LEAVE_SCOPE(cx);
1452 31 6 SV *sv = (MARK < SP) ? TOPs : &PL_sv_undef;
1456 38 0 while (cxix >= 0) {
1459 26 12 if (type == CXt_EVAL || type == CXt_SUB || type == CXt_FORMAT)
1 25 if (type == CXt_EVAL || type == CXt_SUB || type == CXt_FORMAT)
1 0 if (type == CXt_EVAL || type == CXt_SUB || type == CXt_FORMAT)
1465 0 37 if (cxix < 0) {
1466 0 0 if (CxMULTICALL(cxstack)) { /* sort block */
1485 1 36 if (cxix < cxstack_ix)
1489 0 37 if (CxMULTICALL(&cxstack[cxix])) {
1491 0 0 if (gimme == G_VOID)
1493 0 0 else if (gimme == G_SCALAR)
1525 5 7 if (CxTRYBLOCK(cx))
1528 0 7 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
1529 0 0 && (gimme == G_SCALAR || MARK == SP)) {
0 0 && (gimme == G_SCALAR || MARK == SP)) {
1531 0 0 (void) hv_delete(GvHVn(PL_incgv), SvPVX_const(sv),
1552 3 34 if (gimme == G_SCALAR) {
1553 0 3 if (MARK == SP) {
1557 3 0 FREETMPS;
1560 24 10 } else if (gimme == G_LIST) {
1561 43 24 while (MARK < SP) {
1563 39 4 if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv)))
0 39 if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv)))
0 0 if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv)))
0 0 if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv)))
0 0 if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv)))
1578 25 12 if (type == CXt_SUB) {
1581 7 30 CX_LEAVE_SCOPE(cx);
1585 12 25 if (clearerr)
1586 12 0 sv_setpvn(ERRSV, "", 0);
1594 0 28 if (++PL_markstack_ptr == PL_markstack_max)
1604 5 0 I32 cxi = (cxstack_ix < cxstack_max) ? cxstack_ix + 1 : cxinc();
1622 1 6 if (MARK == SP) {
1624 0 1 EXTEND(SP, 1);
1627 1 5 if (!SvTEMP(sv) || SvREFCNT(sv) != 1)
0 1 if (!SvTEMP(sv) || SvREFCNT(sv) != 1)
1633 10 6 while (MARK < SP) {
1634 2 8 if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1)
0 2 if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1)
1644 1 23 if (PadnameOUTER(
1646 1 0 && ckWARN(WARN_CLOSURE))
1655 0 8 if (!list) goto bad;
1656 11 8 for(i = start; i != start+count; i++) {
1657 0 11 if (PadnameOUTER(
1659 0 0 && ckWARN(WARN_CLOSURE))
1663 7 1 if (op->op_ppaddr != DataAlias_pp_padrange_single)
1679 0 0 if (!list)
1682 198 17 op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL;
1683 356 215 while (op) {
1685 158 198 op = OpSIBLING(op);
1690 2 1 while ((op = OpSIBLING(op)))
2 1 while ((op = OpSIBLING(op)))
1696 0 0 op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL;
1697 0 0 while (OpHAS_SIBLING(op))
1698 0 0 op = OpSIBLING(op);
1702 0 81 if (!list) goto bad;
1705 0 2 if (!list) goto bad;
1706 2 0 if (op->op_ppaddr != DataAlias_pp_padsv)
1710 0 0 if (!list) goto bad;
1711 0 0 if (op->op_ppaddr != DataAlias_pp_padsv)
1715 0 16 if (!list) goto bad;
1716 5 11 if (op->op_ppaddr != DataAlias_pp_rv2sv)
1720 0 31 if (!list) goto bad;
1721 20 11 if (op->op_ppaddr != DataAlias_pp_rv2sv)
1725 3 0 if (!list || (op->op_flags & OPf_KIDS))
0 3 if (!list || (op->op_flags & OPf_KIDS))
1729 1 0 bad: qerror(Perl_mess(aTHX_ DA_TARGET_ERR_AT, OutCopFILE(PL_curcop),
1739 89 0 if (!right || !(left = OpSIBLING(right)) || OpHAS_SIBLING(left))
89 0 if (!right || !(left = OpSIBLING(right)) || OpHAS_SIBLING(left))
89 0 if (!right || !(left = OpSIBLING(right)) || OpHAS_SIBLING(left))
0 89 if (!right || !(left = OpSIBLING(right)) || OpHAS_SIBLING(left))
1741 89 0 if (left->op_type || !(left->op_flags & OPf_KIDS))
0 89 if (left->op_type || !(left->op_flags & OPf_KIDS))
1743 89 0 if (!(left = cUNOPx(left)->op_first) || !IS_PUSHMARK_OR_PADRANGE(left))
2 87 if (!(left = cUNOPx(left)->op_first) || !IS_PUSHMARK_OR_PADRANGE(left))
0 2 if (!(left = cUNOPx(left)->op_first) || !IS_PUSHMARK_OR_PADRANGE(left))
1745 89 0 if (!(la = OpSIBLING(left)) || OpHAS_SIBLING(la))
89 0 if (!(la = OpSIBLING(left)) || OpHAS_SIBLING(la))
33 56 if (!(la = OpSIBLING(left)) || OpHAS_SIBLING(la))
1747 19 37 if (la->op_flags & OPf_PARENS)
1754 31 0 if (right->op_type || !(right->op_flags & OPf_KIDS))
0 31 if (right->op_type || !(right->op_flags & OPf_KIDS))
1756 31 0 if (!(right = cUNOPx(right)->op_first) ||
1757 1 30 !IS_PUSHMARK_OR_PADRANGE(right))
0 1 !IS_PUSHMARK_OR_PADRANGE(right))
1759 15 16 op->op_private = hash ? OPpALIASHV : OPpALIASAV;
1760 9 22 la->op_ppaddr = pad ? DataAlias_pp_padsv : DataAlias_pp_rv2sv;
1761 9 22 if (pad) {
1764 0 9 if (left->op_type == OP_PADRANGE)
1766 1 8 else if (right->op_type == OP_PADRANGE &&
1767 1 0 (right->op_flags & OPf_SPECIAL))
1771 31 0 if (!(ra = OpSIBLING(right)) || OpHAS_SIBLING(ra))
31 0 if (!(ra = OpSIBLING(right)) || OpHAS_SIBLING(ra))
1 30 if (!(ra = OpSIBLING(right)) || OpHAS_SIBLING(ra))
1773 6 24 if (ra->op_flags & OPf_PARENS)
1775 11 13 if (hash) {
1776 9 2 if (ra->op_type != OP_PADHV && ra->op_type != OP_RV2HV)
0 9 if (ra->op_type != OP_PADHV && ra->op_type != OP_RV2HV)
1779 11 2 if (ra->op_type != OP_PADAV && ra->op_type != OP_RV2AV)
1 10 if (ra->op_type != OP_PADAV && ra->op_type != OP_RV2AV)
1789 3661 968 while (op) {
1794 1801 1860 if (op->op_flags & OPf_KIDS)
1810 5 236 if (op->op_ppaddr == da_tag_list) {
1818 62 3 if (op->op_ppaddr != da_tag_entersub)
1844 1 306 if (op->op_private & OPpLVAL_INTRO)
1852 2 135 if (op->op_private & OPpLVAL_INTRO)
1868 1 0 if (PadnameOUTER(PadnamelistARRAY(PL_comppad_name)[op->op_targ])
1869 0 1 && ckWARN(WARN_CLOSURE))
1887 89 89 for (tmp = kid; tmp->op_type == OP_NULL &&
1888 89 0 (tmp->op_flags & OPf_KIDS); )
1890 7 82 if (tmp->op_type == OP_PADRANGE &&
1891 6 1 (tmp->op_flags & OPf_SPECIAL))
1895 83 0 da_lvalue(aTHX_ OpSIBLING(kid), TRUE);
1902 68 35 if (!(op->op_private & OPpASSIGN_BACKWARDS))
1903 68 0 da_lvalue(aTHX_ OpSIBLING(kid), FALSE);
1916 35 0 kid = OpSIBLING(kid);
1919 6 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 6 if (!(tmp = OpSIBLING(kid))) break; /* array */
1920 4 2 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
2 4 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1924 7 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 7 if (!(tmp = OpSIBLING(kid))) break; /* array */
1925 5 2 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
2 5 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1929 21 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 21 if (!(tmp = OpSIBLING(kid))) break; /* array */
1930 20 1 if (!(tmp = OpSIBLING(tmp))) break; /* offset */
1 20 if (!(tmp = OpSIBLING(tmp))) break; /* offset */
1931 19 1 if (!(tmp = OpSIBLING(tmp))) break; /* length */
1 19 if (!(tmp = OpSIBLING(tmp))) break; /* length */
1932 15 4 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
4 15 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1936 7 0 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
0 7 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1940 16 0 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
0 16 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1942 49 47 mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp)));
49 47 mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp)));
1950 3438 217 if (sib && OpHAS_SIBLING(op)) {
1519 1919 if (sib && OpHAS_SIBLING(op)) {
1951 627 892 if (kid)
1953 1519 0 op = OpSIBLING(op);
1968 516660 325 && o->op_ppaddr != da_tag_enter
516650 10 && o->op_ppaddr != da_tag_enter
1971 594148 516648 while (OpHAS_SIBLING(o)) {
1972 196643 397505 if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){
196643 0 if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){
1974 363269 34236 } else switch (o->op_type ? o->op_type : o->op_targ) {
112171 285334 } else switch (o->op_type ? o->op_type : o->op_targ) {
1980 594146 0 o = OpSIBLING(o);
1982 298467 218181 if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first))
0 298467 if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first))
1986 10 325 if (o->op_ppaddr == da_tag_enter) {
1987 10 0 o = OpSIBLING(o);
1997 335 0 if (!(cvop = cUNOPx(pmop)->op_first) ||
1998 0 335 cvop->op_ppaddr != da_tag_rv2cv) {
2005 335 0 if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) {
0 335 if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) {
2011 13 322 if (cLISTOPx(esop)->op_first->op_ppaddr == da_tag_enter) {
2022 13 322 if (cvop->op_flags & OPf_SPECIAL) {
2025 30 291 } else if (!da_transform(aTHX_ pmop, TRUE)
2026 15 15 && !useful && ckWARN(WARN_VOID)) {
1 14 && !useful && ckWARN(WARN_VOID)) {
2037 0 21882 if (da_inside < 0)
2039 26 21856 if (da_inside && da_iscope == &cxstack[cxstack_ix]) {
25 1 if (da_inside && da_iscope == &cxstack[cxstack_ix]) {
2041 116 25 while ((tmp = o->op_next))
2043 25 0 if (da_transform(aTHX_ o, FALSE))
2066 0 48015 if (!PL_parser)
2069 0 48015 if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL)
0 0 if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL)
2072 3895 44120 if (kid->op_type != OP_GV || !DA_ACTIVE)
2076 4119 40001 cv = SvROK(gvsv) ? (CV*)SvRV(gvsv) : GvCV((GV*)gvsv);
2080 461 43659 if (cv == da_cv) /* Data::Alias::alias */
2082 17 43642 else if (cv == da_cvc) /* Data::Alias::copy */
2086 2 476 if (o->op_private & OPpENTERSUB_AMPER)
2094 459 17 if (inside)
2100 524 0 while (s < PL_bufend && isSPACE(*s)) s++;
48 476 while (s < PL_bufend && isSPACE(*s)) s++;
2102 476 0 if (memEQ(s, PL_tokenbuf, strlen(PL_tokenbuf))) {
2104 2 474 if (PL_bufptr > s) s = PL_bufptr;
2111 0 476 if (SvPVX(PL_linestr) != old_buf)
2126 38 438 if (da_iscope != &cxstack[cxstack_ix]) {
2135 141 335 if (da_inside < 0) {
2136 141 0 if (*s != '(' || da_inside != ~inside)
0 141 if (*s != '(' || da_inside != ~inside)
2143 0 335 XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no);
5 330 XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no);
2147 282 194 if (*s == '(' && da_inside >= 0) {
141 141 if (*s == '(' && da_inside >= 0) {
2154 73 262 if (*s == '{') { /* disgusting parser hack for alias BLOCK (and copy BLOCK) */
2162 73 0 if (tok == '{'
2164 61 12 || tok == PERLY_BRACE_OPEN
2206 73 0 if ((shift = s - PL_bufptr)) { /* here comes deeper magic */
2209 0 73 if ((PL_oldbufptr += shift) < s)
2211 27 46 if ((PL_oldoldbufptr += shift) < s)
2213 1 72 if (PL_last_uni && (PL_last_uni += shift) < s)
0 1 if (PL_last_uni && (PL_last_uni += shift) < s)
2215 37 36 if (PL_last_lop && (PL_last_lop += shift) < s)
36 1 if (PL_last_lop && (PL_last_lop += shift) < s)
2217 0 73 if (shift > 0) {
2219 0 0 if (len + shift > SvLEN(PL_linestr))
2229 73 0 if (start_s < PL_bufptr)
2240 0 45280 if (!(esop->op_flags & OPf_KIDS))
2243 45280 0 if (!(lsop->op_type == OP_LIST ||
2244 30875 14405 (lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST))
30875 0 (lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST))
2245 30875 0 || OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS))
0 30875 || OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS))
2248 30540 335 if (!DA_ACTIVE || cvop->op_ppaddr != da_tag_rv2cv)
2251 0 335 if (inside < 0)
2254 322 13 SvPOK_off(inside ? da_cv : da_cvc);
322 13 SvPOK_off(inside ? da_cv : da_cvc);
2258 322 13 esop->op_type = inside ? OP_SCOPE : OP_LEAVE;
2261 13 322 if (!inside && !OpHAS_SIBLING(lsop)) {
13 0 if (!inside && !OpHAS_SIBLING(lsop)) {
2279 20 315 if (inside > 1)
2284 322 13 if (inside)
2295 676 0 while (OpSIBLING(argop) != cvop)
341 335 while (OpSIBLING(argop) != cvop)
2296 341 0 argop = OpSIBLING(argop);
2299 96 239 if (argop->op_type == OP_NULL && inside)
94 2 if (argop->op_type == OP_NULL && inside)
2372 27 8 for (i = 0; i < items; i++) {
2373 3 24 if (!SvROK(ST(i))) {
2375 1 2 if (SvOK(ST(i)))
2377 1 1 if (ckWARN(WARN_UNINITIALIZED))
2386 1 3 if (!(x = av_len((AV *) sv) + 1))
2391 0 3 if (!(x = HvKEYS(sv)))
1 2 if (!(x = HvKEYS(sv)))
2406 0 8 EXTEND(SP, 0);
2407 19 8 for (i = 0; n--; ) {
2410 3 16 if (x == SVt_PVAV) {
2411 0 3 i -= x = AvFILL((AV *) sv) + 1;
2412 0 3 Copy(AvARRAY((AV *) sv), SP + i + 1, INT2SIZE(x), SV *);
2413 2 14 } else if (x == SVt_PVHV) {
2418 4 2 while ((entry = hv_iternext(hv))) {