Branch Coverage

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


line true false branch
51 0 28 if(DMD_IS_ACTIVE()) {
68 0 0 if(dyn->keysv) {
75 0 0 if(dyn->oldval)
95 0 17 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 19 if(dyn->var != (SV *)_data)
199 7 12 if(dyn->keysv) {
223 14 5 for(i = max; i >= 0; i--) {
226 5 9 if(dyn->saveix < height)
231 6 3 if(!suspendedvars) {
244 3 6 if(dyn->keysv) {
247 2 1 suspdyn->curval = he ? newSVsv(HeVAL(he)) : NULL;
259 6 4 if(i < max)
263 8 10 for( ; i >= 0; i--) {
267 4 4 if(!suspendedvars) {
279 3 5 if(dyn->keysv) {
283 3 0 suspdyn->curval = he ? newSVsv(HeVAL(he)) : NULL;
295 0 10 if(!suspendedvars)
301 17 10 for(i = max; i >= 0; i--) {
304 6 11 if(suspdyn->keysv) {
307 5 1 pushdynhelem(hv, suspdyn->keysv, he ? HeVAL(he) : NULL);
319 8 9 if(suspdyn->is_outer) {
348 18 2 SV *var = (PL_op->op_flags & OPf_STACKED) ? TOPs : PAD_SV(PL_op->op_targ);
350 7 13 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 2 26 if((PL_opargs[aop->op_type] & OA_TARGLEX) && (aop->op_private & OPpTARGET_MY)) {
2 0 if((PL_opargs[aop->op_type] & OA_TARGLEX) && (aop->op_private & OPpTARGET_MY)) {
456 0 26 if(aop->op_type != OP_SASSIGN)
462 8 18 if(lvalop->op_type == OP_HELEM) {
502 1 1 if(is_async)