Branch Coverage

lib/Syntax/Keyword/Dynamically.xs
Criterion Covered Total %
branch 55 72 76.3


line true false branch
51 0 31 if(DMD_IS_ACTIVE()) {
68 0 0 if(dyn->keysv) {
75 0 0 if(dyn->oldval)
95 0 19 if(DMD_IS_ACTIVE()) {
112 0 0 if(suspdyn->keysv) {
119 0 0 if(suspdyn->curval)
149 4 16 if(!val) {
159 23 0 if(SvTYPE(sv) == SVt_PVHV)
194 0 21 if(dyn->var != (SV *)_data)
199 7 14 if(dyn->keysv) {
223 16 6 for(i = max; i >= 0; i--) {
226 6 10 if(dyn->saveix < height)
231 7 3 if(!suspendedvars) {
244 3 7 if(dyn->keysv) {
247 2 1 suspdyn->curval = he ? newSVsv(HeVAL(he)) : NULL;
259 7 5 if(i < max)
263 9 12 for( ; i >= 0; i--) {
267 5 4 if(!suspendedvars) {
279 3 6 if(dyn->keysv) {
283 3 0 suspdyn->curval = he ? newSVsv(HeVAL(he)) : NULL;
295 0 12 if(!suspendedvars)
301 19 12 for(i = max; i >= 0; i--) {
304 6 13 if(suspdyn->keysv) {
307 5 1 pushdynhelem(hv, suspdyn->keysv, he ? HeVAL(he) : NULL);
319 9 10 if(suspdyn->is_outer) {
348 19 3 SV *var = (PL_op->op_flags & OPf_STACKED) ? TOPs : PAD_SV(PL_op->op_targ);
350 8 14 if(is_async) {
375 4 0 if(dyn->keysv) {
407 4 4 if(is_async) {
410 3 1 if(preexisting)
422 3 1 dyn->oldval = preexisting ? newSVsv(*svp) : NULL;
440 3 27 if((PL_opargs[aop->op_type] & OA_TARGLEX) && (aop->op_private & OPpTARGET_MY)) {
3 0 if((PL_opargs[aop->op_type] & OA_TARGLEX) && (aop->op_private & OPpTARGET_MY)) {
456 0 27 if(aop->op_type != OP_SASSIGN)
462 8 19 if(lvalop->op_type == OP_HELEM) {
503 1 2 if(is_async)