Branch Coverage

Alias.xs
Criterion Covered Total %
branch 689 1108 62.1


line true false branch
332 13 0 if (SvTYPE(a2) == SVt_PVGV)
334 0 0 else if (!SvROK(a2) || !(a2 = SvRV(a2))
0 0 else if (!SvROK(a2) || !(a2 = SvRV(a2))
335 0 0 || (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV))
0 0 || (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV))
348 8 0 return svp ? *svp : &PL_sv_undef;
351 4 0 return he ? HeVAL(he) : &PL_sv_undef;
399 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);
402 14 12 if (old != &PL_sv_undef)
407 26 149 if ((Size_t) a1 == DA_ALIAS_PAD)
410 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);
415 90 7 if (SvTYPE(a2) == SVt_PVGV) {
422 5 9 if (!SvROK(value)) {
424 12 0 SvSetMagicSV(a2, value);
0 12 SvSetMagicSV(a2, value);
439 1 0 if (oldcv != (CV *) value) {
440 0 1 if (GvCVGEN(gv)) {
449 1 0 if (GvINTRO(gv)) {
453 0 1 SSCHECK(1);
470 5 93 if (GvINTRO(gv)) {
486 0 23 if (!av_store((AV *) a1, (SSize_t) a2, value))
490 1 14 if (value == &PL_sv_undef) {
494 0 14 if (!hv_store_ent((HV *) a1, a2, value, 0))
514 11 3 if (gp->gp_refcnt > 1) {
526 0 14 SSCHECK(2);
536 0 99 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);
553 4 0 if (GIMME_V != G_LIST) {
4 0 if (GIMME_V != G_LIST) {
555 4 0 *MARK = da_refgen(aTHX_ MARK <= SP ? TOPs : &PL_sv_undef);
558 0 0 EXTEND_MORTAL(SP - MARK);
559 0 0 while (++MARK <= SP)
573 19 13 while (i--)
575 9 4 if (PL_op->op_flags & OPf_SPECIAL) {
581 0 13 XPUSHs(sv);
589 32 21 while (MARK < SP) {
592 30 2 if (MARK < SP)
594 1 1 else if (ckWARN(WARN_MISC))
597 3 28 if (val == &PL_sv_undef)
603 17 4 if (PL_op->op_flags & OPf_SPECIAL) {
609 0 21 XPUSHs(sv);
621 8 9 (AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv);
9 0 (AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv);
626 0 17 if (!av_fetch(av, index, TRUE))
628 0 17 XPUSHaa(av, index);
651 6 6 while (mg) {
652 0 6 if (isUPPER(mg->mg_type))
663 4 0 IV index = SvIV(elem);
664 0 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
666 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))
669 0 4 if (SvTYPE(av) != SVt_PVAV)
671 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)))
673 2 2 if (PL_op->op_private & OPpLVAL_INTRO)
716 0 11 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
0 0 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
719 11 0 if (SvTYPE(hv) == SVt_PVHV) {
721 2 9 if (localizing)
723 0 11 if (!(he = hv_fetch_ent(hv, key, TRUE, 0)))
724 0 0 DIE(aTHX_ PL_no_helem, SvPV_nolen(key));
725 2 9 if (localizing) {
726 1 1 if (!existed)
754 0 3 if (SvTYPE(av) != SVt_PVAV)
756 0 3 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
759 3 0 EXTEND(sp, count);
0 3 EXTEND(sp, count);
764 6 3 while (MARK < src) {
765 6 0 IV i = SvIVx(*src);
766 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))
768 2 4 if (local)
770 2 4 if (i > max)
776 1 2 if (max > AvMAX(av))
788 0 3 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
0 0 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
790 3 0 EXTEND(sp, i);
0 3 EXTEND(sp, i);
793 3 0 if (SvTYPE(hv) == SVt_PVHV) {
794 6 3 while (MARK < src) {
795 0 6 if (!(he = hv_fetch_ent(hv, key = *src--, TRUE, 0)))
796 0 0 DIE(aTHX_ PL_no_helem, SvPV_nolen(key));
797 2 4 if (PL_op->op_private & OPpLVAL_INTRO)
827 5 2 if (PL_op->op_flags & OPf_SPECIAL) {
828 5 0 AV *av = GvAVn(PL_defgv);
829 0 5 PUSHMARK(SP);
830 1 4 if (is_single) {
831 0 1 XPUSHs((SV*)av);
833 0 4 const I32 maxarg = AvFILL(av) + 1;
834 4 0 EXTEND(SP, maxarg);
0 4 EXTEND(SP, maxarg);
835 0 4 if (SvRMAGICAL(av)) {
837 0 0 for (i=0; i < (U32)maxarg; i++) {
842 0 0 (mg_get(*svp), *svp) :
843 0 0 *svp :
847 0 4 Copy(AvARRAY(av), SP+1, maxarg, SV*);
852 7 0 if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) {
853 0 7 PUSHMARK(SP);
854 7 0 EXTEND(SP, count << 1);
0 7 EXTEND(SP, count << 1);
856 10 7 for(index = start; index != start+count; index++) {
858 1 9 if (is_single) {
867 10 0 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) {
868 7 3 if (da_type == DA_ALIAS_PAD) {
875 10 0 if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID)
876 3 7 PUSHaa(da_type, da_type == DA_ALIAS_PAD ?
909 7 16 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO) {
913 0 23 XPUSHaa(DA_ALIAS_PAD, index);
919 1 0 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO)
921 0 1 XPUSHaa(DA_ALIAS_AV, TARG);
927 0 0 if ((PL_op->op_private & (OPpLVAL_INTRO|OPpPAD_STATE)) == OPpLVAL_INTRO)
929 0 0 XPUSHaa(DA_ALIAS_HV, TARG);
936 4 66 if (PL_op->op_private & OPpLVAL_INTRO) {
940 0 70 XPUSHaa(DA_ALIAS_RV, gv);
947 1 0 if (PL_op->op_private & OPpLVAL_INTRO) {
951 0 1 XPUSHs(GvSV(gv));
958 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))
966 29 10 if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do {
2 27 if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do {
974 0 2 if (SvGMAGICAL(sv)) {
976 0 0 if (SvROK(sv))
979 0 2 if (!SvOK(sv))
0 0 if (!SvOK(sv))
0 0 if (!SvOK(sv))
981 1 1 if (PL_op->op_private & HINT_STRICT_REFS)
982 1 0 DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), tname);
983 1 0 sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, type);
985 28 10 if (SvTYPE(sv) == SVt_PVGV)
986 25 3 sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv));
987 12 26 if (PL_op->op_private & OPpLVAL_INTRO) {
988 9 3 if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv))
0 9 if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv))
1002 0 35 XPUSHaa(DA_ALIAS_RV, sv);
1026 2 13 if (SvROK(sv)) {
1028 0 2 if (SvTYPE(sv) != SVt_PVGV)
1030 2 11 } else if (SvTYPE(sv) != SVt_PVGV) {
1031 0 2 if (SvGMAGICAL(sv)) {
1033 0 0 if (SvROK(sv))
1036 0 2 if (!SvOK(sv))
0 0 if (!SvOK(sv))
0 0 if (!SvOK(sv))
1038 1 1 if (PL_op->op_private & HINT_STRICT_REFS)
1039 1 0 DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), "a symbol");
1040 1 0 sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, SVt_PVGV);
1042 14 0 if (SvTYPE(sv) == SVt_PVGV)
1043 7 7 sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv));
1044 11 3 if (PL_op->op_private & OPpLVAL_INTRO)
1046 0 14 XPUSHaa(DA_ALIAS_GV, sv);
1054 0 5 XPUSHaa(DA_ALIAS_AV, av);
1063 0 10 XPUSHaa(DA_ALIAS_HV, hv);
1071 17 61 if (PL_op->op_private & OPpASSIGN_BACKWARDS) {
1084 70 2 I32 gimme = GIMME_V;
1086 0 72 EXTEND(sp, 1);
1091 29 43 if (PL_op->op_private & OPpALIAS) {
1093 14 15 U32 type = hash ? SVt_PVHV : SVt_PVAV;
1097 0 29 if (SP != rlast)
1100 25 4 if (right != rlast || SvTYPE(*right) != type) {
4 21 if (right != rlast || SvTYPE(*right) != type) {
1101 0 8 PUSHMARK(right - 1);
1102 4 4 hash ? DataAlias_pp_anonhash(aTHX) : DataAlias_pp_anonlist(aTHX);
1107 14 15 PL_op->op_type = hash ? OP_RV2HV : OP_RV2AV;
1113 116 43 while (SP < rlast)
1114 105 11 if (!SvTEMP(*++SP))
1117 90 42 while (left <= llast) {
1119 3 87 if (a1 == &PL_sv_undef) {
1127 0 9 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
0 0 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
1130 9 0 if (done || right > rlast)
7 2 if (done || right > rlast)
1135 20 7 while (right <= rlast)
1146 5 5 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
0 5 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
1149 10 0 if (done || right > rlast)
8 2 if (done || right > rlast)
1153 3 5 if (1 & ~(rlast - right)) {
3 5 if (1 & ~(rlast - right)) {
1154 1 2 if (ckWARN(WARN_MISC))
1159 20 7 while (svp > right) {
1162 0 20 if (!he) /* is this possible? */
1163 0 0 DIE(aTHX_ PL_no_helem, SvPV_nolen(tmp));
1165 6 14 if (SvREFCNT(tmp) > 1) { /* existing element */
1170 5 9 if (val == &PL_sv_undef)
1176 8 7 while (nils && (he = hv_iternext((HV *) a2))) {
8 0 while (nils && (he = hv_iternext((HV *) a2))) {
1177 5 3 if (HeVAL(he) == &PL_sv_undef) {
1183 3 4 if (gimme != G_LIST || !dups) {
1 2 if (gimme != G_LIST || !dups) {
1187 13 2 while (svp++ < rlast) {
1188 7 6 if (*svp)
1245 14 54 if (right > rlast)
1247 4 50 else if (done)
1255 12 30 if (gimme == G_LIST) {
1257 0 12 EXTEND(SP, 0);
1258 7 12 while (rlast < SP)
1261 12 18 } else if (gimme == G_SCALAR) {
1263 0 12 XPUSHi(rlast - SP);
0 12 XPUSHi(rlast - SP);
1272 14 0 if (SvTRUE(sv)) {
0 14 if (SvTRUE(sv)) {
8 6 if (SvTRUE(sv)) {
8 0 if (SvTRUE(sv)) {
0 8 if (SvTRUE(sv)) {
0 6 if (SvTRUE(sv)) {
0 0 if (SvTRUE(sv)) {
0 0 if (SvTRUE(sv)) {
0 0 if (SvTRUE(sv)) {
0 0 if (SvTRUE(sv)) {
6 0 if (SvTRUE(sv)) {
6 0 if (SvTRUE(sv)) {
0 6 if (SvTRUE(sv)) {
0 0 if (SvTRUE(sv)) {
0 0 if (SvTRUE(sv)) {
6 8 if (SvTRUE(sv)) {
1284 14 0 if (!SvTRUE(sv)) {
0 14 if (!SvTRUE(sv)) {
0 0 if (!SvTRUE(sv)) {
8 6 if (!SvTRUE(sv)) {
8 0 if (!SvTRUE(sv)) {
0 8 if (!SvTRUE(sv)) {
0 6 if (!SvTRUE(sv)) {
0 0 if (!SvTRUE(sv)) {
0 0 if (!SvTRUE(sv)) {
0 0 if (!SvTRUE(sv)) {
0 0 if (!SvTRUE(sv)) {
0 0 if (!SvTRUE(sv)) {
6 0 if (!SvTRUE(sv)) {
6 0 if (!SvTRUE(sv)) {
0 6 if (!SvTRUE(sv)) {
0 0 if (!SvTRUE(sv)) {
0 0 if (!SvTRUE(sv)) {
0 6 if (!SvTRUE(sv)) {
0 0 if (!SvTRUE(sv)) {
1297 3 2 if (!SvOK(sv)) {
3 0 if (!SvOK(sv)) {
3 0 if (!SvOK(sv)) {
1310 1 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 1 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1312 1 4 i = AvFILL(av);
1314 7 5 while (MARK < SP)
1317 0 5 PUSHi(i + 1);
1325 0 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1328 6 4 while (MARK < SP)
1331 0 4 PUSHi(AvFILL(av) + 1);
0 4 PUSHi(AvFILL(av) + 1);
1341 0 15 if (ins < 0) /* ?! */
1343 0 15 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1346 15 0 off = SvIV(MARK[2]);
1347 6 9 if (off < 0 && (off += count) < 0)
0 6 if (off < 0 && (off += count) < 0)
1349 15 0 del = SvIV(ORIGMARK[3]);
1350 3 12 if (del < 0 && (del += count - off) < 0)
1 2 if (del < 0 && (del += count - off) < 0)
1352 2 13 if (off > count) {
1353 1 1 if (ckWARN(WARN_MISC))
1358 1 13 if ((count -= off + del) < 0) /* count of trailing elems */
1361 4 10 if (i > AvMAX(av))
1363 0 14 if (!AvREAL(av) && AvREIFY(av))
0 0 if (!AvREAL(av) && AvREIFY(av))
1368 21 14 for (i = 0; i < ins; i++)
1370 7 7 if (ins > del) {
1371 0 7 Move(svp+del, svp+ins, INT2SIZE(count), SV *);
1372 2 7 for (i = 0; i < del; i++)
1374 0 7 Copy(MARK+del, svp+del, INT2SIZE(ins-del), SV *);
1376 9 7 for (i = 0; i < ins; i++)
1378 3 4 if (ins != del)
1379 0 3 Copy(svp+ins, MARK-3+ins, INT2SIZE(del-ins), SV *);
1380 0 7 Move(svp+del, svp+ins, INT2SIZE(count), SV *);
1383 14 14 for (i = 0; i < del; i++)
1399 2 56 if (PL_op->op_flags & OPf_SPECIAL)
1412 18 40 if (gimme == G_SCALAR) {
1413 0 18 if (newsp == SP) {
1417 8 10 FREETMPS;
1420 18 22 } else if (gimme == G_LIST) {
1421 27 18 while (newsp < SP)
1422 19 8 if (!SvTEMP(sv = *++newsp))
1430 25 33 CX_LEAVE_SCOPE(cx);
1448 31 6 SV *sv = (MARK < SP) ? TOPs : &PL_sv_undef;
1452 38 0 while (cxix >= 0) {
1455 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)
1461 0 37 if (cxix < 0) {
1462 0 0 if (CxMULTICALL(cxstack)) { /* sort block */
1481 1 36 if (cxix < cxstack_ix)
1485 0 37 if (CxMULTICALL(&cxstack[cxix])) {
1487 0 0 if (gimme == G_VOID)
1489 0 0 else if (gimme == G_SCALAR)
1521 5 7 if (CxTRYBLOCK(cx))
1524 0 7 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
0 0 if (optype == OP_REQUIRE && !SvTRUE(sv)
1525 0 0 && (gimme == G_SCALAR || MARK == SP)) {
0 0 && (gimme == G_SCALAR || MARK == SP)) {
1527 0 0 (void) hv_delete(GvHVn(PL_incgv), SvPVX_const(sv),
1548 3 34 if (gimme == G_SCALAR) {
1549 0 3 if (MARK == SP) {
1553 3 0 FREETMPS;
1556 24 10 } else if (gimme == G_LIST) {
1557 43 24 while (MARK < SP) {
1559 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)))
0 0 if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv)))
0 0 if (!SvTEMP(sv) && !(SvREADONLY(sv) && SvIMMORTAL(sv)))
1574 25 12 if (type == CXt_SUB) {
1577 7 30 CX_LEAVE_SCOPE(cx);
1581 12 25 if (clearerr)
1582 12 0 sv_setpvn(ERRSV, "", 0);
1590 0 28 if (++PL_markstack_ptr == PL_markstack_max)
1600 5 0 I32 cxi = (cxstack_ix < cxstack_max) ? cxstack_ix + 1 : cxinc();
1613 15 0 switch (GIMME_V) {
1618 1 6 if (MARK == SP) {
1620 0 1 EXTEND(SP, 1);
1623 1 5 if (!SvTEMP(sv) || SvREFCNT(sv) != 1)
0 1 if (!SvTEMP(sv) || SvREFCNT(sv) != 1)
1629 10 6 while (MARK < SP) {
1630 2 8 if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1)
0 2 if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1)
1640 2 23 if (PadnameOUTER(
1642 1 1 && ckWARN(WARN_CLOSURE))
1651 0 8 if (!list) goto bad;
1652 11 8 for(i = start; i != start+count; i++) {
1653 0 11 if (PadnameOUTER(
1655 0 0 && ckWARN(WARN_CLOSURE))
1659 7 1 if (op->op_ppaddr != DataAlias_pp_padrange_single)
1675 0 0 if (!list)
1678 198 17 op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL;
1679 356 215 while (op) {
1681 158 198 op = OpSIBLING(op);
1686 2 1 while ((op = OpSIBLING(op)))
2 1 while ((op = OpSIBLING(op)))
1692 0 0 op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL;
1693 0 0 while (OpHAS_SIBLING(op))
1694 0 0 op = OpSIBLING(op);
1698 0 81 if (!list) goto bad;
1701 0 2 if (!list) goto bad;
1702 2 0 if (op->op_ppaddr != DataAlias_pp_padsv)
1706 0 0 if (!list) goto bad;
1707 0 0 if (op->op_ppaddr != DataAlias_pp_padsv)
1711 0 16 if (!list) goto bad;
1712 5 11 if (op->op_ppaddr != DataAlias_pp_rv2sv)
1716 0 31 if (!list) goto bad;
1717 20 11 if (op->op_ppaddr != DataAlias_pp_rv2sv)
1721 3 0 if (!list || (op->op_flags & OPf_KIDS))
3 0 if (!list || (op->op_flags & OPf_KIDS))
1725 1 0 bad: qerror(Perl_mess(aTHX_ DA_TARGET_ERR_AT, OutCopFILE(PL_curcop),
1735 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))
1737 89 0 if (left->op_type || !(left->op_flags & OPf_KIDS))
0 89 if (left->op_type || !(left->op_flags & OPf_KIDS))
1739 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))
1741 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))
1743 19 37 if (la->op_flags & OPf_PARENS)
1750 31 0 if (right->op_type || !(right->op_flags & OPf_KIDS))
0 31 if (right->op_type || !(right->op_flags & OPf_KIDS))
1752 31 0 if (!(right = cUNOPx(right)->op_first) ||
1 30 if (!(right = cUNOPx(right)->op_first) ||
1753 0 1 !IS_PUSHMARK_OR_PADRANGE(right))
1755 15 16 op->op_private = hash ? OPpALIASHV : OPpALIASAV;
1756 9 22 la->op_ppaddr = pad ? DataAlias_pp_padsv : DataAlias_pp_rv2sv;
1757 9 22 if (pad) {
1760 0 9 if (left->op_type == OP_PADRANGE)
1762 1 8 else if (right->op_type == OP_PADRANGE &&
1 0 else if (right->op_type == OP_PADRANGE &&
1767 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))
1769 6 24 if (ra->op_flags & OPf_PARENS)
1771 11 13 if (hash) {
1772 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)
1775 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)
1785 3693 983 while (op) {
1790 1840 1853 if (op->op_flags & OPf_KIDS)
1806 5 251 if (op->op_ppaddr == da_tag_list) {
1814 62 3 if (op->op_ppaddr != da_tag_entersub)
1840 1 306 if (op->op_private & OPpLVAL_INTRO)
1848 2 135 if (op->op_private & OPpLVAL_INTRO)
1883 89 89 for (tmp = kid; tmp->op_type == OP_NULL &&
89 0 for (tmp = kid; tmp->op_type == OP_NULL &&
1886 7 82 if (tmp->op_type == OP_PADRANGE &&
6 1 if (tmp->op_type == OP_PADRANGE &&
1891 83 0 da_lvalue(aTHX_ OpSIBLING(kid), TRUE);
1898 69 35 if (!(op->op_private & OPpASSIGN_BACKWARDS))
1899 69 0 da_lvalue(aTHX_ OpSIBLING(kid), FALSE);
1912 35 0 kid = OpSIBLING(kid);
1915 6 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 6 if (!(tmp = OpSIBLING(kid))) break; /* array */
1916 4 2 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
2 4 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1920 7 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 7 if (!(tmp = OpSIBLING(kid))) break; /* array */
1921 5 2 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
2 5 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1925 21 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 21 if (!(tmp = OpSIBLING(kid))) break; /* array */
1926 20 1 if (!(tmp = OpSIBLING(tmp))) break; /* offset */
1 20 if (!(tmp = OpSIBLING(tmp))) break; /* offset */
1927 19 1 if (!(tmp = OpSIBLING(tmp))) break; /* length */
1 19 if (!(tmp = OpSIBLING(tmp))) break; /* length */
1928 15 4 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
4 15 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1932 7 1 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1 7 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1936 16 4 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
4 16 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1938 49 47 mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp)));
49 47 mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp)));
1946 3470 217 if (sib && OpHAS_SIBLING(op)) {
1516 1954 if (sib && OpHAS_SIBLING(op)) {
1947 642 874 if (kid)
1949 1516 0 op = OpSIBLING(op);
1962 106390 335 while (o->op_ppaddr != da_tag_list
1967 121328 106388 while (OpHAS_SIBLING(o)) {
1968 46272 75056 if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){
46039 233 if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){
1970 72259 3030 } else switch (o->op_type ? o->op_type : o->op_targ) {
23597 51692 } else switch (o->op_type ? o->op_type : o->op_targ) {
1976 121326 0 o = OpSIBLING(o);
1978 56129 50259 if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first))
0 56129 if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first))
1993 335 0 if (!(cvop = cUNOPx(pmop)->op_first) ||
0 335 if (!(cvop = cUNOPx(pmop)->op_first) ||
2001 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) {
2018 13 322 if (cvop->op_flags & OPf_SPECIAL) {
2021 15 306 } else if (!da_transform(aTHX_ pmop, TRUE)
2022 15 0 && !useful && ckWARN(WARN_VOID)) {
1 14 && !useful && ckWARN(WARN_VOID)) {
2033 0 4564 if (da_inside < 0)
2035 26 4538 if (da_inside && da_iscope == &cxstack[cxstack_ix]) {
25 1 if (da_inside && da_iscope == &cxstack[cxstack_ix]) {
2037 116 25 while ((tmp = o->op_next))
2039 25 0 if (da_transform(aTHX_ o, FALSE))
2062 0 6825 if (!PL_parser)
2065 0 6825 if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL)
0 0 if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL)
2068 642 6183 if (kid->op_type != OP_GV || !DA_ACTIVE)
2072 461 5722 cv = SvROK(gvsv) ? (CV*)SvRV(gvsv) : GvCV((GV*)gvsv);
2076 461 5722 if (cv == da_cv) /* Data::Alias::alias */
2078 17 5705 else if (cv == da_cvc) /* Data::Alias::copy */
2082 2 476 if (o->op_private & OPpENTERSUB_AMPER)
2090 459 17 if (inside)
2096 524 0 while (s < PL_bufend && isSPACE(*s)) s++;
48 476 while (s < PL_bufend && isSPACE(*s)) s++;
2098 476 0 if (memEQ(s, PL_tokenbuf, strlen(PL_tokenbuf))) {
2100 2 474 if (PL_bufptr > s) s = PL_bufptr;
2107 0 476 if (SvPVX(PL_linestr) != old_buf)
2122 38 438 if (da_iscope != &cxstack[cxstack_ix]) {
2131 141 335 if (da_inside < 0) {
2132 141 0 if (*s != '(' || da_inside != ~inside)
0 141 if (*s != '(' || da_inside != ~inside)
2139 0 335 XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no);
5 330 XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no);
2143 282 194 if (*s == '(' && da_inside >= 0) {
141 141 if (*s == '(' && da_inside >= 0) {
2150 73 262 if (*s == '{') { /* disgusting parser hack for alias BLOCK (and copy BLOCK) */
2158 61 12 if (tok == '{'
2202 73 0 if ((shift = s - PL_bufptr)) { /* here comes deeper magic */
2205 0 73 if ((PL_oldbufptr += shift) < s)
2207 27 46 if ((PL_oldoldbufptr += shift) < s)
2209 1 72 if (PL_last_uni && (PL_last_uni += shift) < s)
0 1 if (PL_last_uni && (PL_last_uni += shift) < s)
2211 37 36 if (PL_last_lop && (PL_last_lop += shift) < s)
36 1 if (PL_last_lop && (PL_last_lop += shift) < s)
2213 0 73 if (shift > 0) {
2215 0 0 if (len + shift > SvLEN(PL_linestr))
2225 73 0 if (start_s < PL_bufptr)
2236 0 6100 if (!(esop->op_flags & OPf_KIDS))
2239 6100 0 if (!(lsop->op_type == OP_LIST ||
4306 1794 if (!(lsop->op_type == OP_LIST ||
2240 4306 0 (lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST))
2241 4306 0 || OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS))
0 4306 || OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS))
2244 3971 335 if (!DA_ACTIVE || cvop->op_ppaddr != da_tag_rv2cv)
2247 0 335 if (inside < 0)
2250 322 13 SvPOK_off(inside ? da_cv : da_cvc);
322 13 SvPOK_off(inside ? da_cv : da_cvc);
2254 322 13 esop->op_type = inside ? OP_SCOPE : OP_LEAVE;
2275 20 315 if (inside > 1)
2280 322 13 if (inside)
2291 676 0 while (OpSIBLING(argop) != cvop)
341 335 while (OpSIBLING(argop) != cvop)
2292 341 0 argop = OpSIBLING(argop);
2295 96 239 if (argop->op_type == OP_NULL && inside)
94 2 if (argop->op_type == OP_NULL && inside)
2368 27 8 for (i = 0; i < items; i++) {
2369 3 24 if (!SvROK(ST(i))) {
2371 2 1 if (SvOK(ST(i)))
2 0 if (SvOK(ST(i)))
0 2 if (SvOK(ST(i)))
2372 1 0 Perl_croak(aTHX_ DA_DEREF_ERR, SvPV(ST(i), z));
2373 1 1 if (ckWARN(WARN_UNINITIALIZED))
2382 1 3 if (!(x = av_len((AV *) sv) + 1))
2387 0 3 if (!(x = HvKEYS(sv)))
1 2 if (!(x = HvKEYS(sv)))
2402 0 8 EXTEND(SP, 0);
2403 19 8 for (i = 0; n--; ) {
2406 3 16 if (x == SVt_PVAV) {
2407 0 3 i -= x = AvFILL((AV *) sv) + 1;
2408 0 3 Copy(AvARRAY((AV *) sv), SP + i + 1, INT2SIZE(x), SV *);
2409 2 14 } else if (x == SVt_PVHV) {
2414 4 2 while ((entry = hv_iternext(hv))) {