Branch Coverage

Alias.xs
Criterion Covered Total %
branch 687 1096 62.6


line true false branch
324 13 0 if (SvTYPE(a2) == SVt_PVGV)
326 0 0 else if (!SvROK(a2) || !(a2 = SvRV(a2))
0 0 else if (!SvROK(a2) || !(a2 = SvRV(a2))
327 0 0 || (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV))
0 0 || (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV))
340 8 0 return svp ? *svp : &PL_sv_undef;
343 4 0 return he ? HeVAL(he) : &PL_sv_undef;
390 2 171 PREP_ALIAS_INC(value);
1 0 PREP_ALIAS_INC(value);
1 0 PREP_ALIAS_INC(value);
0 1 PREP_ALIAS_INC(value);
1 14 PREP_ALIAS_INC(value);
1 0 PREP_ALIAS_INC(value);
391 26 147 if ((Size_t) a1 == DA_ALIAS_PAD) {
395 14 12 if (old != &PL_sv_undef)
403 90 7 if (SvTYPE(a2) == SVt_PVGV) {
410 5 9 if (!SvROK(value)) {
412 12 0 SvSetMagicSV(a2, value);
0 12 SvSetMagicSV(a2, value);
427 1 0 if (oldcv != (CV *) value) {
428 0 1 if (GvCVGEN(gv)) {
437 1 0 if (GvINTRO(gv)) {
441 0 1 SSCHECK(1);
458 5 93 if (GvINTRO(gv)) {
474 0 21 if (!av_store((AV *) a1, (Size_t) a2, value))
478 1 14 if (value == &PL_sv_undef) {
482 0 14 if (!hv_store_ent((HV *) a1, a2, value, 0))
502 11 3 if (gp->gp_refcnt > 1) {
514 0 14 SSCHECK(2);
524 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);
541 4 0 if (GIMME_V != G_LIST) {
4 0 if (GIMME_V != G_LIST) {
543 4 0 *MARK = da_refgen(aTHX_ MARK <= SP ? TOPs : &PL_sv_undef);
546 0 0 EXTEND_MORTAL(SP - MARK);
547 0 0 while (++MARK <= SP)
561 19 13 while (i--)
563 9 4 if (PL_op->op_flags & OPf_SPECIAL) {
569 0 13 XPUSHs(sv);
577 32 21 while (MARK < SP) {
580 30 2 if (MARK < SP)
582 1 1 else if (ckWARN(WARN_MISC))
585 3 28 if (val == &PL_sv_undef)
591 17 4 if (PL_op->op_flags & OPf_SPECIAL) {
597 0 21 XPUSHs(sv);
609 7 8 (AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv);
8 0 (AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv);
611 0 15 if (!av_fetch(av, index, TRUE))
613 0 15 XPUSHaa(av, index);
619 6 6 while (mg) {
620 0 6 if (isUPPER(mg->mg_type))
631 4 0 IV index = SvIV(elem);
632 0 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
634 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))
637 0 4 if (SvTYPE(av) != SVt_PVAV)
639 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)))
641 2 2 if (PL_op->op_private & OPpLVAL_INTRO)
684 0 11 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
0 0 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
687 11 0 if (SvTYPE(hv) == SVt_PVHV) {
689 2 9 if (localizing)
691 0 11 if (!(he = hv_fetch_ent(hv, key, TRUE, 0)))
692 0 0 DIE(aTHX_ PL_no_helem, SvPV_nolen(key));
693 2 9 if (localizing) {
694 1 1 if (!existed)
722 0 3 if (SvTYPE(av) != SVt_PVAV)
724 0 3 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
727 3 0 EXTEND(sp, count);
0 3 EXTEND(sp, count);
732 6 3 while (MARK < src) {
733 6 0 IV i = SvIVx(*src);
734 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))
736 2 4 if (local)
738 2 4 if (i > max)
744 1 2 if (max > AvMAX(av))
756 0 3 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
0 0 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
758 3 0 EXTEND(sp, i);
0 3 EXTEND(sp, i);
761 3 0 if (SvTYPE(hv) == SVt_PVHV) {
762 6 3 while (MARK < src) {
763 0 6 if (!(he = hv_fetch_ent(hv, key = *src--, TRUE, 0)))
764 0 0 DIE(aTHX_ PL_no_helem, SvPV_nolen(key));
765 2 4 if (PL_op->op_private & OPpLVAL_INTRO)
795 5 2 if (PL_op->op_flags & OPf_SPECIAL) {
796 5 0 AV *av = GvAVn(PL_defgv);
797 0 5 PUSHMARK(SP);
798 1 4 if (is_single) {
799 0 1 XPUSHs((SV*)av);
801 0 4 const I32 maxarg = AvFILL(av) + 1;
802 4 0 EXTEND(SP, maxarg);
0 4 EXTEND(SP, maxarg);
803 0 4 if (SvRMAGICAL(av)) {
805 0 0 for (i=0; i < (U32)maxarg; i++) {
810 0 0 (mg_get(*svp), *svp) :
811 0 0 *svp :
815 0 4 Copy(AvARRAY(av), SP+1, maxarg, SV*);
820 7 0 if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) {
821 0 7 PUSHMARK(SP);
822 7 0 EXTEND(SP, count << 1);
0 7 EXTEND(SP, count << 1);
824 10 7 for(index = start; index != start+count; index++) {
826 1 9 if (is_single) {
835 10 0 if (PL_op->op_private & OPpLVAL_INTRO) {
836 7 3 if (da_type == DA_ALIAS_PAD) {
843 10 0 if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID)
844 3 7 PUSHaa(da_type, da_type == DA_ALIAS_PAD ?
864 7 16 if (PL_op->op_private & OPpLVAL_INTRO) {
868 0 23 XPUSHaa(DA_ALIAS_PAD, index);
874 1 0 if (PL_op->op_private & OPpLVAL_INTRO)
876 0 1 XPUSHaa(DA_ALIAS_AV, TARG);
882 0 0 if (PL_op->op_private & OPpLVAL_INTRO)
884 0 0 XPUSHaa(DA_ALIAS_HV, TARG);
891 4 66 if (PL_op->op_private & OPpLVAL_INTRO) {
895 0 70 XPUSHaa(DA_ALIAS_RV, gv);
902 1 0 if (PL_op->op_private & OPpLVAL_INTRO) {
906 0 1 XPUSHs(GvSV(gv));
913 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))
921 29 10 if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do {
2 27 if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do {
929 0 2 if (SvGMAGICAL(sv)) {
931 0 0 if (SvROK(sv))
934 0 2 if (!SvOK(sv))
0 0 if (!SvOK(sv))
0 0 if (!SvOK(sv))
936 1 1 if (PL_op->op_private & HINT_STRICT_REFS)
937 1 0 DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), tname);
938 1 0 sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, type);
940 28 10 if (SvTYPE(sv) == SVt_PVGV)
941 25 3 sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv));
942 12 26 if (PL_op->op_private & OPpLVAL_INTRO) {
943 9 3 if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv))
0 9 if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv))
957 0 35 XPUSHaa(DA_ALIAS_RV, sv);
981 2 13 if (SvROK(sv)) {
983 0 2 if (SvTYPE(sv) != SVt_PVGV)
985 2 11 } else if (SvTYPE(sv) != SVt_PVGV) {
986 0 2 if (SvGMAGICAL(sv)) {
988 0 0 if (SvROK(sv))
991 0 2 if (!SvOK(sv))
0 0 if (!SvOK(sv))
0 0 if (!SvOK(sv))
993 1 1 if (PL_op->op_private & HINT_STRICT_REFS)
994 1 0 DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), "a symbol");
995 1 0 sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, SVt_PVGV);
997 14 0 if (SvTYPE(sv) == SVt_PVGV)
998 7 7 sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv));
999 11 3 if (PL_op->op_private & OPpLVAL_INTRO)
1001 0 14 XPUSHaa(DA_ALIAS_GV, sv);
1009 0 5 XPUSHaa(DA_ALIAS_AV, av);
1018 0 10 XPUSHaa(DA_ALIAS_HV, hv);
1026 17 59 if (PL_op->op_private & OPpASSIGN_BACKWARDS) {
1039 70 2 I32 gimme = GIMME_V;
1041 0 72 EXTEND(sp, 1);
1046 29 43 if (PL_op->op_private & OPpALIAS) {
1048 14 15 U32 type = hash ? SVt_PVHV : SVt_PVAV;
1052 0 29 if (SP != rlast)
1055 25 4 if (right != rlast || SvTYPE(*right) != type) {
4 21 if (right != rlast || SvTYPE(*right) != type) {
1056 0 8 PUSHMARK(right - 1);
1057 4 4 hash ? DataAlias_pp_anonhash(aTHX) : DataAlias_pp_anonlist(aTHX);
1062 14 15 PL_op->op_type = hash ? OP_RV2HV : OP_RV2AV;
1068 116 43 while (SP < rlast)
1069 105 11 if (!SvTEMP(*++SP))
1072 90 42 while (left <= llast) {
1074 3 87 if (a1 == &PL_sv_undef) {
1082 0 9 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
0 0 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
1085 9 0 if (done || right > rlast)
7 2 if (done || right > rlast)
1090 20 7 while (right <= rlast)
1101 5 5 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
0 5 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
1104 10 0 if (done || right > rlast)
8 2 if (done || right > rlast)
1108 3 5 if (1 & ~(rlast - right)) {
3 5 if (1 & ~(rlast - right)) {
1109 1 2 if (ckWARN(WARN_MISC))
1114 20 7 while (svp > right) {
1117 0 20 if (!he) /* is this possible? */
1118 0 0 DIE(aTHX_ PL_no_helem, SvPV_nolen(tmp));
1120 6 14 if (SvREFCNT(tmp) > 1) { /* existing element */
1125 5 9 if (val == &PL_sv_undef)
1131 8 7 while (nils && (he = hv_iternext((HV *) a2))) {
8 0 while (nils && (he = hv_iternext((HV *) a2))) {
1132 5 3 if (HeVAL(he) == &PL_sv_undef) {
1138 3 4 if (gimme != G_LIST || !dups) {
1 2 if (gimme != G_LIST || !dups) {
1142 13 2 while (svp++ < rlast) {
1143 7 6 if (*svp)
1200 14 54 if (right > rlast)
1202 4 50 else if (done)
1210 12 30 if (gimme == G_LIST) {
1212 0 12 EXTEND(SP, 0);
1213 7 12 while (rlast < SP)
1216 12 18 } else if (gimme == G_SCALAR) {
1218 0 12 XPUSHi(rlast - SP);
0 12 XPUSHi(rlast - SP);
1227 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)) {
1239 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)) {
1252 3 2 if (!SvOK(sv)) {
3 0 if (!SvOK(sv)) {
3 0 if (!SvOK(sv)) {
1265 1 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 1 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1267 1 4 i = AvFILL(av);
1269 7 5 while (MARK < SP)
1272 0 5 PUSHi(i + 1);
1280 0 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1283 6 4 while (MARK < SP)
1286 0 4 PUSHi(AvFILL(av) + 1);
0 4 PUSHi(AvFILL(av) + 1);
1296 0 15 if (ins < 0) /* ?! */
1298 0 15 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1301 15 0 off = SvIV(MARK[2]);
1302 6 9 if (off < 0 && (off += count) < 0)
0 6 if (off < 0 && (off += count) < 0)
1304 15 0 del = SvIV(ORIGMARK[3]);
1305 3 12 if (del < 0 && (del += count - off) < 0)
1 2 if (del < 0 && (del += count - off) < 0)
1307 2 13 if (off > count) {
1308 1 1 if (ckWARN(WARN_MISC))
1313 1 13 if ((count -= off + del) < 0) /* count of trailing elems */
1316 4 10 if (i > AvMAX(av))
1318 0 14 if (!AvREAL(av) && AvREIFY(av))
0 0 if (!AvREAL(av) && AvREIFY(av))
1323 21 14 for (i = 0; i < ins; i++)
1325 7 7 if (ins > del) {
1326 0 7 Move(svp+del, svp+ins, INT2SIZE(count), SV *);
1327 2 7 for (i = 0; i < del; i++)
1329 0 7 Copy(MARK+del, svp+del, INT2SIZE(ins-del), SV *);
1331 9 7 for (i = 0; i < ins; i++)
1333 3 4 if (ins != del)
1334 0 3 Copy(svp+ins, MARK-3+ins, INT2SIZE(del-ins), SV *);
1335 0 7 Move(svp+del, svp+ins, INT2SIZE(count), SV *);
1338 14 14 for (i = 0; i < del; i++)
1354 2 56 if (PL_op->op_flags & OPf_SPECIAL)
1367 18 40 if (gimme == G_SCALAR) {
1368 0 18 if (newsp == SP) {
1372 8 10 FREETMPS;
1375 18 22 } else if (gimme == G_LIST) {
1376 27 18 while (newsp < SP)
1377 19 8 if (!SvTEMP(sv = *++newsp))
1385 25 33 CX_LEAVE_SCOPE(cx);
1403 31 6 SV *sv = (MARK < SP) ? TOPs : &PL_sv_undef;
1407 38 0 while (cxix >= 0) {
1410 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)
1416 0 37 if (cxix < 0) {
1417 0 0 if (CxMULTICALL(cxstack)) { /* sort block */
1436 1 36 if (cxix < cxstack_ix)
1440 0 37 if (CxMULTICALL(&cxstack[cxix])) {
1442 0 0 if (gimme == G_VOID)
1444 0 0 else if (gimme == G_SCALAR)
1476 5 7 if (CxTRYBLOCK(cx))
1479 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)
1480 0 0 && (gimme == G_SCALAR || MARK == SP)) {
0 0 && (gimme == G_SCALAR || MARK == SP)) {
1482 0 0 (void) hv_delete(GvHVn(PL_incgv), SvPVX_const(sv),
1503 3 34 if (gimme == G_SCALAR) {
1504 0 3 if (MARK == SP) {
1508 3 0 FREETMPS;
1511 24 10 } else if (gimme == G_LIST) {
1512 43 24 while (MARK < SP) {
1514 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)))
1529 25 12 if (type == CXt_SUB) {
1532 7 30 CX_LEAVE_SCOPE(cx);
1536 12 25 if (clearerr)
1537 12 0 sv_setpvn(ERRSV, "", 0);
1545 0 28 if (++PL_markstack_ptr == PL_markstack_max)
1555 5 0 I32 cxi = (cxstack_ix < cxstack_max) ? cxstack_ix + 1 : cxinc();
1568 15 0 switch (GIMME_V) {
1573 1 6 if (MARK == SP) {
1575 0 1 EXTEND(SP, 1);
1578 1 5 if (!SvTEMP(sv) || SvREFCNT(sv) != 1)
0 1 if (!SvTEMP(sv) || SvREFCNT(sv) != 1)
1584 10 6 while (MARK < SP) {
1585 2 8 if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1)
0 2 if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1)
1595 2 23 if (PadnameOUTER(
1597 1 1 && ckWARN(WARN_CLOSURE))
1606 0 8 if (!list) goto bad;
1607 11 8 for(i = start; i != start+count; i++) {
1608 0 11 if (PadnameOUTER(
1610 0 0 && ckWARN(WARN_CLOSURE))
1614 7 1 if (op->op_ppaddr != DataAlias_pp_padrange_single)
1630 0 0 if (!list)
1633 195 15 op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL;
1634 351 210 while (op) {
1636 156 195 op = OpSIBLING(op);
1641 2 1 while ((op = OpSIBLING(op)))
2 1 while ((op = OpSIBLING(op)))
1647 0 0 op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL;
1648 0 0 while (OpHAS_SIBLING(op))
1649 0 0 op = OpSIBLING(op);
1653 0 81 if (!list) goto bad;
1656 0 2 if (!list) goto bad;
1657 2 0 if (op->op_ppaddr != DataAlias_pp_padsv)
1661 0 0 if (!list) goto bad;
1662 0 0 if (op->op_ppaddr != DataAlias_pp_padsv)
1666 0 16 if (!list) goto bad;
1667 5 11 if (op->op_ppaddr != DataAlias_pp_rv2sv)
1671 0 31 if (!list) goto bad;
1672 20 11 if (op->op_ppaddr != DataAlias_pp_rv2sv)
1676 3 0 if (!list || (op->op_flags & OPf_KIDS))
3 0 if (!list || (op->op_flags & OPf_KIDS))
1680 1 0 bad: qerror(Perl_mess(aTHX_ DA_TARGET_ERR_AT, OutCopFILE(PL_curcop),
1690 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))
1692 89 0 if (left->op_type || !(left->op_flags & OPf_KIDS))
0 89 if (left->op_type || !(left->op_flags & OPf_KIDS))
1694 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))
1696 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))
1698 19 37 if (la->op_flags & OPf_PARENS)
1705 31 0 if (right->op_type || !(right->op_flags & OPf_KIDS))
0 31 if (right->op_type || !(right->op_flags & OPf_KIDS))
1707 31 0 if (!(right = cUNOPx(right)->op_first) ||
1 30 if (!(right = cUNOPx(right)->op_first) ||
1708 0 1 !IS_PUSHMARK_OR_PADRANGE(right))
1710 15 16 op->op_private = hash ? OPpALIASHV : OPpALIASAV;
1711 9 22 la->op_ppaddr = pad ? DataAlias_pp_padsv : DataAlias_pp_rv2sv;
1712 9 22 if (pad) {
1715 0 9 if (left->op_type == OP_PADRANGE)
1717 1 8 else if (right->op_type == OP_PADRANGE &&
1 0 else if (right->op_type == OP_PADRANGE &&
1722 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))
1724 6 24 if (ra->op_flags & OPf_PARENS)
1726 11 13 if (hash) {
1727 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)
1730 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)
1740 3678 978 while (op) {
1745 1833 1845 if (op->op_flags & OPf_KIDS)
1761 5 251 if (op->op_ppaddr == da_tag_list) {
1769 62 3 if (op->op_ppaddr != da_tag_entersub)
1795 1 306 if (op->op_private & OPpLVAL_INTRO)
1803 2 135 if (op->op_private & OPpLVAL_INTRO)
1821 89 89 for (tmp = kid; tmp->op_type == OP_NULL &&
89 0 for (tmp = kid; tmp->op_type == OP_NULL &&
1824 7 82 if (tmp->op_type == OP_PADRANGE &&
6 1 if (tmp->op_type == OP_PADRANGE &&
1829 83 0 da_lvalue(aTHX_ OpSIBLING(kid), TRUE);
1836 67 35 if (!(op->op_private & OPpASSIGN_BACKWARDS))
1837 67 0 da_lvalue(aTHX_ OpSIBLING(kid), FALSE);
1850 35 0 kid = OpSIBLING(kid);
1853 6 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 6 if (!(tmp = OpSIBLING(kid))) break; /* array */
1854 4 2 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
2 4 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1858 7 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 7 if (!(tmp = OpSIBLING(kid))) break; /* array */
1859 5 2 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
2 5 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1863 21 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 21 if (!(tmp = OpSIBLING(kid))) break; /* array */
1864 20 1 if (!(tmp = OpSIBLING(tmp))) break; /* offset */
1 20 if (!(tmp = OpSIBLING(tmp))) break; /* offset */
1865 19 1 if (!(tmp = OpSIBLING(tmp))) break; /* length */
1 19 if (!(tmp = OpSIBLING(tmp))) break; /* length */
1866 15 4 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
4 15 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1870 7 1 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1 7 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1874 16 4 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
4 16 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1876 49 47 mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp)));
49 47 mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp)));
1879 3457 215 if (sib && OpHAS_SIBLING(op)) {
1510 1947 if (sib && OpHAS_SIBLING(op)) {
1880 639 871 if (kid)
1882 1510 0 op = OpSIBLING(op);
1895 106326 333 while (o->op_ppaddr != da_tag_list
1900 121258 106324 while (OpHAS_SIBLING(o)) {
1901 46241 75017 if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){
46008 233 if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){
1903 72220 3030 } else switch (o->op_type ? o->op_type : o->op_targ) {
23579 51671 } else switch (o->op_type ? o->op_type : o->op_targ) {
1909 121256 0 o = OpSIBLING(o);
1911 56100 50224 if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first))
0 56100 if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first))
1926 333 0 if (!(cvop = cUNOPx(pmop)->op_first) ||
0 333 if (!(cvop = cUNOPx(pmop)->op_first) ||
1934 333 0 if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) {
0 333 if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) {
1951 13 320 if (cvop->op_flags & OPf_SPECIAL) {
1954 15 304 } else if (!da_transform(aTHX_ pmop, TRUE)
1955 15 0 && !useful && ckWARN(WARN_VOID)) {
1 14 && !useful && ckWARN(WARN_VOID)) {
1966 0 4558 if (da_inside < 0)
1968 26 4532 if (da_inside && da_iscope == &cxstack[cxstack_ix]) {
25 1 if (da_inside && da_iscope == &cxstack[cxstack_ix]) {
1970 116 25 while ((tmp = o->op_next))
1972 25 0 if (da_transform(aTHX_ o, FALSE))
1995 0 6815 if (!PL_parser)
1998 0 6815 if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL)
0 0 if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL)
2001 642 6173 if (kid->op_type != OP_GV || !DA_ACTIVE)
2005 461 5712 cv = SvROK(gvsv) ? (CV*)SvRV(gvsv) : GvCV((GV*)gvsv);
2009 457 5716 if (cv == da_cv) /* Data::Alias::alias */
2011 17 5699 else if (cv == da_cvc) /* Data::Alias::copy */
2015 2 472 if (o->op_private & OPpENTERSUB_AMPER)
2023 455 17 if (inside)
2029 520 0 while (s < PL_bufend && isSPACE(*s)) s++;
48 472 while (s < PL_bufend && isSPACE(*s)) s++;
2031 472 0 if (memEQ(s, PL_tokenbuf, strlen(PL_tokenbuf))) {
2033 2 470 if (PL_bufptr > s) s = PL_bufptr;
2040 0 472 if (SvPVX(PL_linestr) != old_buf)
2055 38 434 if (da_iscope != &cxstack[cxstack_ix]) {
2064 139 333 if (da_inside < 0) {
2065 139 0 if (*s != '(' || da_inside != ~inside)
0 139 if (*s != '(' || da_inside != ~inside)
2072 0 333 XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no);
5 328 XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no);
2076 278 194 if (*s == '(' && da_inside >= 0) {
139 139 if (*s == '(' && da_inside >= 0) {
2083 73 260 if (*s == '{') { /* disgusting parser hack for alias BLOCK (and copy BLOCK) */
2091 61 12 if (tok == '{'
2135 73 0 if ((shift = s - PL_bufptr)) { /* here comes deeper magic */
2138 0 73 if ((PL_oldbufptr += shift) < s)
2140 27 46 if ((PL_oldoldbufptr += shift) < s)
2142 1 72 if (PL_last_uni && (PL_last_uni += shift) < s)
0 1 if (PL_last_uni && (PL_last_uni += shift) < s)
2144 37 36 if (PL_last_lop && (PL_last_lop += shift) < s)
36 1 if (PL_last_lop && (PL_last_lop += shift) < s)
2146 0 73 if (shift > 0) {
2148 0 0 if (len + shift > SvLEN(PL_linestr))
2158 73 0 if (start_s < PL_bufptr)
2169 0 6092 if (!(esop->op_flags & OPf_KIDS))
2172 6092 0 if (!(lsop->op_type == OP_LIST ||
4298 1794 if (!(lsop->op_type == OP_LIST ||
2173 4298 0 (lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST))
2174 4298 0 || OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS))
0 4298 || OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS))
2177 3965 333 if (!DA_ACTIVE || cvop->op_ppaddr != da_tag_rv2cv)
2180 0 333 if (inside < 0)
2183 320 13 SvPOK_off(inside ? da_cv : da_cvc);
320 13 SvPOK_off(inside ? da_cv : da_cvc);
2187 320 13 esop->op_type = inside ? OP_SCOPE : OP_LEAVE;
2208 20 313 if (inside > 1)
2213 320 13 if (inside)
2224 672 0 while (OpSIBLING(argop) != cvop)
339 333 while (OpSIBLING(argop) != cvop)
2225 339 0 argop = OpSIBLING(argop);
2228 96 237 if (argop->op_type == OP_NULL && inside)
94 2 if (argop->op_type == OP_NULL && inside)
2301 27 8 for (i = 0; i < items; i++) {
2302 3 24 if (!SvROK(ST(i))) {
2304 2 1 if (SvOK(ST(i)))
2 0 if (SvOK(ST(i)))
0 2 if (SvOK(ST(i)))
2305 1 0 Perl_croak(aTHX_ DA_DEREF_ERR, SvPV(ST(i), z));
2306 1 1 if (ckWARN(WARN_UNINITIALIZED))
2315 1 3 if (!(x = av_len((AV *) sv) + 1))
2320 0 3 if (!(x = HvKEYS(sv)))
1 2 if (!(x = HvKEYS(sv)))
2335 0 8 EXTEND(SP, 0);
2336 19 8 for (i = 0; n--; ) {
2339 3 16 if (x == SVt_PVAV) {
2340 0 3 i -= x = AvFILL((AV *) sv) + 1;
2341 0 3 Copy(AvARRAY((AV *) sv), SP + i + 1, INT2SIZE(x), SV *);
2342 2 14 } else if (x == SVt_PVHV) {
2347 4 2 while ((entry = hv_iternext(hv))) {