Branch Coverage

Alias.xs
Criterion Covered Total %
branch 687 1096 62.6


line true false branch
321 8 0 if (SvTYPE(a2) == SVt_PVGV)
323 0 0 else if (!SvROK(a2) || !(a2 = SvRV(a2))
0 0 else if (!SvROK(a2) || !(a2 = SvRV(a2))
324 0 0 || (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV))
0 0 || (SvTYPE(a2) > SVt_PVLV && SvTYPE(a2) != SVt_PVGV))
337 8 0 return svp ? *svp : &PL_sv_undef;
340 4 0 return he ? HeVAL(he) : &PL_sv_undef;
387 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);
388 32 141 if ((Size_t) a1 == DA_ALIAS_PAD) {
392 18 14 if (old != &PL_sv_undef)
400 84 7 if (SvTYPE(a2) == SVt_PVGV) {
407 5 9 if (!SvROK(value)) {
409 12 0 SvSetMagicSV(a2, value);
0 12 SvSetMagicSV(a2, value);
424 1 0 if (oldcv != (CV *) value) {
425 0 1 if (GvCVGEN(gv)) {
434 1 0 if (GvINTRO(gv)) {
438 0 1 SSCHECK(1);
455 5 87 if (GvINTRO(gv)) {
471 0 21 if (!av_store((AV *) a1, (Size_t) a2, value))
475 1 14 if (value == &PL_sv_undef) {
479 0 14 if (!hv_store_ent((HV *) a1, a2, value, 0))
499 11 3 if (gp->gp_refcnt > 1) {
511 0 14 SSCHECK(2);
521 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);
538 4 0 if (GIMME_V != G_LIST) {
4 0 if (GIMME_V != G_LIST) {
540 4 0 *MARK = da_refgen(aTHX_ MARK <= SP ? TOPs : &PL_sv_undef);
543 0 0 EXTEND_MORTAL(SP - MARK);
544 0 0 while (++MARK <= SP)
558 19 13 while (i--)
560 9 4 if (PL_op->op_flags & OPf_SPECIAL) {
566 0 13 XPUSHs(sv);
574 32 21 while (MARK < SP) {
577 30 2 if (MARK < SP)
579 1 1 else if (ckWARN(WARN_MISC))
582 3 28 if (val == &PL_sv_undef)
588 17 4 if (PL_op->op_flags & OPf_SPECIAL) {
594 0 21 XPUSHs(sv);
606 7 8 (AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv);
8 0 (AV *) PAD_SV(PL_op->op_targ) : GvAVn(cGVOP_gv);
608 0 15 if (!av_fetch(av, index, TRUE))
610 0 15 XPUSHaa(av, index);
616 6 6 while (mg) {
617 0 6 if (isUPPER(mg->mg_type))
628 4 0 IV index = SvIV(elem);
629 0 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
631 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))
634 0 4 if (SvTYPE(av) != SVt_PVAV)
636 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)))
638 2 2 if (PL_op->op_private & OPpLVAL_INTRO)
681 0 11 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
0 0 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
684 11 0 if (SvTYPE(hv) == SVt_PVHV) {
686 2 9 if (localizing)
688 0 11 if (!(he = hv_fetch_ent(hv, key, TRUE, 0)))
689 0 0 DIE(aTHX_ PL_no_helem, SvPV_nolen(key));
690 2 9 if (localizing) {
691 1 1 if (!existed)
719 0 3 if (SvTYPE(av) != SVt_PVAV)
721 0 3 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
724 3 0 EXTEND(sp, count);
0 3 EXTEND(sp, count);
729 6 3 while (MARK < src) {
730 6 0 IV i = SvIVx(*src);
731 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))
733 2 4 if (local)
735 2 4 if (i > max)
741 1 2 if (max > AvMAX(av))
753 0 3 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
0 0 if (SvRMAGICAL(hv) && da_badmagic(aTHX_ (SV *) hv))
755 3 0 EXTEND(sp, i);
0 3 EXTEND(sp, i);
758 3 0 if (SvTYPE(hv) == SVt_PVHV) {
759 6 3 while (MARK < src) {
760 0 6 if (!(he = hv_fetch_ent(hv, key = *src--, TRUE, 0)))
761 0 0 DIE(aTHX_ PL_no_helem, SvPV_nolen(key));
762 2 4 if (PL_op->op_private & OPpLVAL_INTRO)
792 5 2 if (PL_op->op_flags & OPf_SPECIAL) {
793 5 0 AV *av = GvAVn(PL_defgv);
794 0 5 PUSHMARK(SP);
795 1 4 if (is_single) {
796 0 1 XPUSHs((SV*)av);
798 0 4 const I32 maxarg = AvFILL(av) + 1;
799 4 0 EXTEND(SP, maxarg);
0 4 EXTEND(SP, maxarg);
800 0 4 if (SvRMAGICAL(av)) {
802 0 0 for (i=0; i < (U32)maxarg; i++) {
807 0 0 (mg_get(*svp), *svp) :
808 0 0 *svp :
812 0 4 Copy(AvARRAY(av), SP+1, maxarg, SV*);
817 7 0 if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID) {
818 0 7 PUSHMARK(SP);
819 7 0 EXTEND(SP, count << 1);
0 7 EXTEND(SP, count << 1);
821 10 7 for(index = start; index != start+count; index++) {
823 1 9 if (is_single) {
832 10 0 if (PL_op->op_private & OPpLVAL_INTRO) {
833 7 3 if (da_type == DA_ALIAS_PAD) {
840 10 0 if ((PL_op->op_flags & OPf_WANT) != OPf_WANT_VOID)
841 3 7 PUSHaa(da_type, da_type == DA_ALIAS_PAD ?
861 9 22 if (PL_op->op_private & OPpLVAL_INTRO) {
865 0 31 XPUSHaa(DA_ALIAS_PAD, index);
871 1 0 if (PL_op->op_private & OPpLVAL_INTRO)
873 0 1 XPUSHaa(DA_ALIAS_AV, TARG);
879 0 0 if (PL_op->op_private & OPpLVAL_INTRO)
881 0 0 XPUSHaa(DA_ALIAS_HV, TARG);
888 4 58 if (PL_op->op_private & OPpLVAL_INTRO) {
892 0 62 XPUSHaa(DA_ALIAS_RV, gv);
899 1 0 if (PL_op->op_private & OPpLVAL_INTRO) {
903 0 1 XPUSHs(GvSV(gv));
910 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))
918 29 10 if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do {
2 27 if (!SvROK(sv) && SvTYPE(sv) != SVt_PVGV) do {
926 0 2 if (SvGMAGICAL(sv)) {
928 0 0 if (SvROK(sv))
931 0 2 if (!SvOK(sv))
0 0 if (!SvOK(sv))
0 0 if (!SvOK(sv))
933 1 1 if (PL_op->op_private & HINT_STRICT_REFS)
934 1 0 DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), tname);
935 1 0 sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, type);
937 28 10 if (SvTYPE(sv) == SVt_PVGV)
938 25 3 sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv));
939 12 26 if (PL_op->op_private & OPpLVAL_INTRO) {
940 9 3 if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv))
0 9 if (SvTYPE(sv) != SVt_PVGV || SvFAKE(sv))
954 0 35 XPUSHaa(DA_ALIAS_RV, sv);
978 2 13 if (SvROK(sv)) {
980 0 2 if (SvTYPE(sv) != SVt_PVGV)
982 2 11 } else if (SvTYPE(sv) != SVt_PVGV) {
983 0 2 if (SvGMAGICAL(sv)) {
985 0 0 if (SvROK(sv))
988 0 2 if (!SvOK(sv))
0 0 if (!SvOK(sv))
0 0 if (!SvOK(sv))
990 1 1 if (PL_op->op_private & HINT_STRICT_REFS)
991 1 0 DIE(aTHX_ msg_no_symref, SvPV_nolen(sv), "a symbol");
992 1 0 sv = (SV *) gv_fetchpv(SvPV_nolen(sv), TRUE, SVt_PVGV);
994 14 0 if (SvTYPE(sv) == SVt_PVGV)
995 7 7 sv = (SV *) (GvEGV(sv) ? GvEGV(sv) : fixglob(aTHX_ (GV *) sv));
996 11 3 if (PL_op->op_private & OPpLVAL_INTRO)
998 0 14 XPUSHaa(DA_ALIAS_GV, sv);
1006 0 5 XPUSHaa(DA_ALIAS_AV, av);
1015 0 10 XPUSHaa(DA_ALIAS_HV, hv);
1023 17 59 if (PL_op->op_private & OPpASSIGN_BACKWARDS) {
1036 70 2 I32 gimme = GIMME_V;
1038 0 72 EXTEND(sp, 1);
1043 29 43 if (PL_op->op_private & OPpALIAS) {
1045 14 15 U32 type = hash ? SVt_PVHV : SVt_PVAV;
1049 0 29 if (SP != rlast)
1052 25 4 if (right != rlast || SvTYPE(*right) != type) {
4 21 if (right != rlast || SvTYPE(*right) != type) {
1053 0 8 PUSHMARK(right - 1);
1054 4 4 hash ? DataAlias_pp_anonhash(aTHX) : DataAlias_pp_anonlist(aTHX);
1059 14 15 PL_op->op_type = hash ? OP_RV2HV : OP_RV2AV;
1065 116 43 while (SP < rlast)
1066 105 11 if (!SvTEMP(*++SP))
1069 90 42 while (left <= llast) {
1071 3 87 if (a1 == &PL_sv_undef) {
1079 0 9 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
0 0 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
1082 9 0 if (done || right > rlast)
7 2 if (done || right > rlast)
1087 20 7 while (right <= rlast)
1098 5 5 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
0 5 if (SvRMAGICAL(a2) && da_badmagic(aTHX_ a2))
1101 10 0 if (done || right > rlast)
8 2 if (done || right > rlast)
1105 3 5 if (1 & ~(rlast - right)) {
3 5 if (1 & ~(rlast - right)) {
1106 1 2 if (ckWARN(WARN_MISC))
1111 20 7 while (svp > right) {
1114 0 20 if (!he) /* is this possible? */
1115 0 0 DIE(aTHX_ PL_no_helem, SvPV_nolen(tmp));
1117 6 14 if (SvREFCNT(tmp) > 1) { /* existing element */
1122 5 9 if (val == &PL_sv_undef)
1128 10 7 while (nils && (he = hv_iternext((HV *) a2))) {
10 0 while (nils && (he = hv_iternext((HV *) a2))) {
1129 5 5 if (HeVAL(he) == &PL_sv_undef) {
1135 3 4 if (gimme != G_LIST || !dups) {
1 2 if (gimme != G_LIST || !dups) {
1139 13 2 while (svp++ < rlast) {
1140 7 6 if (*svp)
1197 14 54 if (right > rlast)
1199 4 50 else if (done)
1207 12 30 if (gimme == G_LIST) {
1209 0 12 EXTEND(SP, 0);
1210 7 12 while (rlast < SP)
1213 12 18 } else if (gimme == G_SCALAR) {
1215 0 12 XPUSHi(rlast - SP);
0 12 XPUSHi(rlast - SP);
1224 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)) {
1236 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)) {
1249 3 2 if (!SvOK(sv)) {
3 0 if (!SvOK(sv)) {
3 0 if (!SvOK(sv)) {
1262 1 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 1 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1264 1 4 i = AvFILL(av);
1266 7 5 while (MARK < SP)
1269 0 5 PUSHi(i + 1);
1277 0 4 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1280 6 4 while (MARK < SP)
1283 0 4 PUSHi(AvFILL(av) + 1);
0 4 PUSHi(AvFILL(av) + 1);
1293 0 15 if (ins < 0) /* ?! */
1295 0 15 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
0 0 if (SvRMAGICAL(av) && da_badmagic(aTHX_ (SV *) av))
1298 15 0 off = SvIV(MARK[2]);
1299 6 9 if (off < 0 && (off += count) < 0)
0 6 if (off < 0 && (off += count) < 0)
1301 15 0 del = SvIV(ORIGMARK[3]);
1302 3 12 if (del < 0 && (del += count - off) < 0)
1 2 if (del < 0 && (del += count - off) < 0)
1304 2 13 if (off > count) {
1305 1 1 if (ckWARN(WARN_MISC))
1310 1 13 if ((count -= off + del) < 0) /* count of trailing elems */
1313 4 10 if (i > AvMAX(av))
1315 0 14 if (!AvREAL(av) && AvREIFY(av))
0 0 if (!AvREAL(av) && AvREIFY(av))
1320 21 14 for (i = 0; i < ins; i++)
1322 7 7 if (ins > del) {
1323 0 7 Move(svp+del, svp+ins, INT2SIZE(count), SV *);
1324 2 7 for (i = 0; i < del; i++)
1326 0 7 Copy(MARK+del, svp+del, INT2SIZE(ins-del), SV *);
1328 9 7 for (i = 0; i < ins; i++)
1330 3 4 if (ins != del)
1331 0 3 Copy(svp+ins, MARK-3+ins, INT2SIZE(del-ins), SV *);
1332 0 7 Move(svp+del, svp+ins, INT2SIZE(count), SV *);
1335 14 14 for (i = 0; i < del; i++)
1351 2 55 if (PL_op->op_flags & OPf_SPECIAL)
1364 18 39 if (gimme == G_SCALAR) {
1365 0 18 if (newsp == SP) {
1369 8 10 FREETMPS;
1372 18 21 } else if (gimme == G_LIST) {
1373 27 18 while (newsp < SP)
1374 19 8 if (!SvTEMP(sv = *++newsp))
1382 25 32 CX_LEAVE_SCOPE(cx);
1400 31 6 SV *sv = (MARK < SP) ? TOPs : &PL_sv_undef;
1404 38 0 while (cxix >= 0) {
1407 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)
1413 0 37 if (cxix < 0) {
1414 0 0 if (CxMULTICALL(cxstack)) { /* sort block */
1433 1 36 if (cxix < cxstack_ix)
1437 0 37 if (CxMULTICALL(&cxstack[cxix])) {
1439 0 0 if (gimme == G_VOID)
1441 0 0 else if (gimme == G_SCALAR)
1473 5 7 if (CxTRYBLOCK(cx))
1476 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)
1477 0 0 && (gimme == G_SCALAR || MARK == SP)) {
0 0 && (gimme == G_SCALAR || MARK == SP)) {
1479 0 0 (void) hv_delete(GvHVn(PL_incgv), SvPVX_const(sv),
1500 3 34 if (gimme == G_SCALAR) {
1501 0 3 if (MARK == SP) {
1505 3 0 FREETMPS;
1508 24 10 } else if (gimme == G_LIST) {
1509 43 24 while (MARK < SP) {
1511 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)))
1526 25 12 if (type == CXt_SUB) {
1529 7 30 CX_LEAVE_SCOPE(cx);
1533 12 25 if (clearerr)
1534 12 0 sv_setpvn(ERRSV, "", 0);
1542 0 28 if (++PL_markstack_ptr == PL_markstack_max)
1552 5 0 I32 cxi = (cxstack_ix < cxstack_max) ? cxstack_ix + 1 : cxinc();
1565 15 0 switch (GIMME_V) {
1570 1 6 if (MARK == SP) {
1572 0 1 EXTEND(SP, 1);
1575 1 5 if (!SvTEMP(sv) || SvREFCNT(sv) != 1)
0 1 if (!SvTEMP(sv) || SvREFCNT(sv) != 1)
1581 10 6 while (MARK < SP) {
1582 2 8 if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1)
0 2 if (!SvTEMP(sv = *++MARK) || SvREFCNT(sv) != 1)
1592 2 31 if (PadnameOUTER(
1594 1 1 && ckWARN(WARN_CLOSURE))
1603 0 8 if (!list) goto bad;
1604 11 8 for(i = start; i != start+count; i++) {
1605 0 11 if (PadnameOUTER(
1607 0 0 && ckWARN(WARN_CLOSURE))
1611 7 1 if (op->op_ppaddr != DataAlias_pp_padrange_single)
1627 0 0 if (!list)
1630 187 15 op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL;
1631 343 202 while (op) {
1633 156 187 op = OpSIBLING(op);
1638 2 1 while ((op = OpSIBLING(op)))
2 1 while ((op = OpSIBLING(op)))
1644 0 0 op = (op->op_flags & OPf_KIDS) ? cUNOPx(op)->op_first : NULL;
1645 0 0 while (OpHAS_SIBLING(op))
1646 0 0 op = OpSIBLING(op);
1650 0 81 if (!list) goto bad;
1653 0 2 if (!list) goto bad;
1654 2 0 if (op->op_ppaddr != DataAlias_pp_padsv)
1658 0 0 if (!list) goto bad;
1659 0 0 if (op->op_ppaddr != DataAlias_pp_padsv)
1663 0 16 if (!list) goto bad;
1664 5 11 if (op->op_ppaddr != DataAlias_pp_rv2sv)
1668 0 31 if (!list) goto bad;
1669 20 11 if (op->op_ppaddr != DataAlias_pp_rv2sv)
1673 3 0 if (!list || (op->op_flags & OPf_KIDS))
3 0 if (!list || (op->op_flags & OPf_KIDS))
1677 1 0 bad: qerror(Perl_mess(aTHX_ DA_TARGET_ERR_AT, OutCopFILE(PL_curcop),
1687 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))
1689 89 0 if (left->op_type || !(left->op_flags & OPf_KIDS))
0 89 if (left->op_type || !(left->op_flags & OPf_KIDS))
1691 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))
1693 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))
1695 19 37 if (la->op_flags & OPf_PARENS)
1702 31 0 if (right->op_type || !(right->op_flags & OPf_KIDS))
0 31 if (right->op_type || !(right->op_flags & OPf_KIDS))
1704 31 0 if (!(right = cUNOPx(right)->op_first) ||
1 30 if (!(right = cUNOPx(right)->op_first) ||
1705 0 1 !IS_PUSHMARK_OR_PADRANGE(right))
1707 15 16 op->op_private = hash ? OPpALIASHV : OPpALIASAV;
1708 9 22 la->op_ppaddr = pad ? DataAlias_pp_padsv : DataAlias_pp_rv2sv;
1709 9 22 if (pad) {
1712 0 9 if (left->op_type == OP_PADRANGE)
1714 1 8 else if (right->op_type == OP_PADRANGE &&
1 0 else if (right->op_type == OP_PADRANGE &&
1719 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))
1721 6 24 if (ra->op_flags & OPf_PARENS)
1723 11 13 if (hash) {
1724 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)
1727 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)
1737 3644 970 while (op) {
1742 1817 1827 if (op->op_flags & OPf_KIDS)
1758 5 251 if (op->op_ppaddr == da_tag_list) {
1766 61 3 if (op->op_ppaddr != da_tag_entersub)
1792 1 299 if (op->op_private & OPpLVAL_INTRO)
1800 2 135 if (op->op_private & OPpLVAL_INTRO)
1818 89 89 for (tmp = kid; tmp->op_type == OP_NULL &&
89 0 for (tmp = kid; tmp->op_type == OP_NULL &&
1821 7 82 if (tmp->op_type == OP_PADRANGE &&
6 1 if (tmp->op_type == OP_PADRANGE &&
1826 83 0 da_lvalue(aTHX_ OpSIBLING(kid), TRUE);
1833 67 35 if (!(op->op_private & OPpASSIGN_BACKWARDS))
1834 67 0 da_lvalue(aTHX_ OpSIBLING(kid), FALSE);
1847 35 0 kid = OpSIBLING(kid);
1850 6 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 6 if (!(tmp = OpSIBLING(kid))) break; /* array */
1851 4 2 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
2 4 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1855 7 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 7 if (!(tmp = OpSIBLING(kid))) break; /* array */
1856 5 2 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
2 5 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1860 21 0 if (!(tmp = OpSIBLING(kid))) break; /* array */
0 21 if (!(tmp = OpSIBLING(kid))) break; /* array */
1861 20 1 if (!(tmp = OpSIBLING(tmp))) break; /* offset */
1 20 if (!(tmp = OpSIBLING(tmp))) break; /* offset */
1862 19 1 if (!(tmp = OpSIBLING(tmp))) break; /* length */
1 19 if (!(tmp = OpSIBLING(tmp))) break; /* length */
1863 15 4 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
4 15 if (!(tmp = OpSIBLING(tmp))) break; /* first elem */
1867 7 1 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1 7 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1871 16 3 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
3 16 if (!(tmp = OpSIBLING(kid))) break; /* first elem */
1873 49 47 mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp)));
49 47 mod: do MOD(tmp); while ((tmp = OpSIBLING(tmp)));
1876 3423 215 if (sib && OpHAS_SIBLING(op)) {
1498 1925 if (sib && OpHAS_SIBLING(op)) {
1877 637 861 if (kid)
1879 1498 0 op = OpSIBLING(op);
1892 48012 327 while (o->op_ppaddr != da_tag_list
1897 60233 48010 while (OpHAS_SIBLING(o)) {
1898 19590 40643 if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){
19448 142 if ((o->op_flags & OPf_KIDS) && (k = cUNOPo->op_first)){
1900 39258 1527 } else switch (o->op_type ? o->op_type : o->op_targ) {
12054 28731 } else switch (o->op_type ? o->op_type : o->op_targ) {
1906 60231 0 o = OpSIBLING(o);
1908 25829 22181 if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first))
0 25829 if (!(o->op_flags & OPf_KIDS) || !(o = cUNOPo->op_first))
1923 327 0 if (!(cvop = cUNOPx(pmop)->op_first) ||
0 327 if (!(cvop = cUNOPx(pmop)->op_first) ||
1931 327 0 if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) {
0 327 if (!(esop = cvop->op_next) || esop->op_ppaddr != da_tag_entersub) {
1948 13 314 if (cvop->op_flags & OPf_SPECIAL) {
1951 11 302 } else if (!da_transform(aTHX_ pmop, TRUE)
1952 11 0 && !useful && ckWARN(WARN_VOID)) {
1 10 && !useful && ckWARN(WARN_VOID)) {
1963 0 3069 if (da_inside < 0)
1965 26 3043 if (da_inside && da_iscope == &cxstack[cxstack_ix]) {
25 1 if (da_inside && da_iscope == &cxstack[cxstack_ix]) {
1967 116 25 while ((tmp = o->op_next))
1969 25 0 if (da_transform(aTHX_ o, FALSE))
1992 0 4659 if (!PL_parser)
1995 0 4659 if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL)
0 0 if (PL_lex_state != LEX_NORMAL && PL_lex_state != LEX_INTERPNORMAL)
1998 421 4238 if (kid->op_type != OP_GV || !DA_ACTIVE)
2002 432 3806 cv = SvROK(gvsv) ? (CV*)SvRV(gvsv) : GvCV((GV*)gvsv);
2006 449 3789 if (cv == da_cv) /* Data::Alias::alias */
2008 17 3772 else if (cv == da_cvc) /* Data::Alias::copy */
2012 2 464 if (o->op_private & OPpENTERSUB_AMPER)
2020 447 17 if (inside)
2026 512 0 while (s < PL_bufend && isSPACE(*s)) s++;
48 464 while (s < PL_bufend && isSPACE(*s)) s++;
2028 464 0 if (memEQ(s, PL_tokenbuf, strlen(PL_tokenbuf))) {
2030 2 462 if (PL_bufptr > s) s = PL_bufptr;
2037 0 464 if (SvPVX(PL_linestr) != old_buf)
2052 37 427 if (da_iscope != &cxstack[cxstack_ix]) {
2061 137 327 if (da_inside < 0) {
2062 137 0 if (*s != '(' || da_inside != ~inside)
0 137 if (*s != '(' || da_inside != ~inside)
2069 0 327 XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no);
5 322 XPUSHs(da_inside ? &PL_sv_yes : &PL_sv_no);
2073 274 190 if (*s == '(' && da_inside >= 0) {
137 137 if (*s == '(' && da_inside >= 0) {
2080 71 256 if (*s == '{') { /* disgusting parser hack for alias BLOCK (and copy BLOCK) */
2088 60 11 if (tok == '{'
2132 71 0 if ((shift = s - PL_bufptr)) { /* here comes deeper magic */
2135 0 71 if ((PL_oldbufptr += shift) < s)
2137 25 46 if ((PL_oldoldbufptr += shift) < s)
2139 1 70 if (PL_last_uni && (PL_last_uni += shift) < s)
0 1 if (PL_last_uni && (PL_last_uni += shift) < s)
2141 37 34 if (PL_last_lop && (PL_last_lop += shift) < s)
36 1 if (PL_last_lop && (PL_last_lop += shift) < s)
2143 0 71 if (shift > 0) {
2145 0 0 if (len + shift > SvLEN(PL_linestr))
2155 71 0 if (start_s < PL_bufptr)
2166 0 4343 if (!(esop->op_flags & OPf_KIDS))
2169 4343 0 if (!(lsop->op_type == OP_LIST ||
3143 1200 if (!(lsop->op_type == OP_LIST ||
2170 3143 0 (lsop->op_type == OP_NULL && lsop->op_targ == OP_LIST))
2171 3143 0 || OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS))
0 3143 || OpHAS_SIBLING(lsop) || !(lsop->op_flags & OPf_KIDS))
2174 2816 327 if (!DA_ACTIVE || cvop->op_ppaddr != da_tag_rv2cv)
2177 0 327 if (inside < 0)
2180 314 13 SvPOK_off(inside ? da_cv : da_cvc);
314 13 SvPOK_off(inside ? da_cv : da_cvc);
2184 314 13 esop->op_type = inside ? OP_SCOPE : OP_LEAVE;
2205 20 307 if (inside > 1)
2210 314 13 if (inside)
2221 662 0 while (OpSIBLING(argop) != cvop)
335 327 while (OpSIBLING(argop) != cvop)
2222 335 0 argop = OpSIBLING(argop);
2225 95 232 if (argop->op_type == OP_NULL && inside)
93 2 if (argop->op_type == OP_NULL && inside)
2298 27 8 for (i = 0; i < items; i++) {
2299 3 24 if (!SvROK(ST(i))) {
2301 2 1 if (SvOK(ST(i)))
2 0 if (SvOK(ST(i)))
0 2 if (SvOK(ST(i)))
2302 1 0 Perl_croak(aTHX_ DA_DEREF_ERR, SvPV(ST(i), z));
2303 1 1 if (ckWARN(WARN_UNINITIALIZED))
2312 1 3 if (!(x = av_len((AV *) sv) + 1))
2317 0 3 if (!(x = HvKEYS(sv)))
1 2 if (!(x = HvKEYS(sv)))
2332 0 8 EXTEND(SP, 0);
2333 19 8 for (i = 0; n--; ) {
2336 3 16 if (x == SVt_PVAV) {
2337 0 3 i -= x = AvFILL((AV *) sv) + 1;
2338 0 3 Copy(AvARRAY((AV *) sv), SP + i + 1, INT2SIZE(x), SV *);
2339 2 14 } else if (x == SVt_PVHV) {
2344 4 2 while ((entry = hv_iternext(hv))) {