Branch Coverage

XSHeaders.xs
Criterion Covered Total %
branch 106 140 75.7


line true false branch
22 0 262 if (SvTYPE(sv) < SVt_PVMG)
25 262 0 for (mg = SvMAGIC(sv); mg; mg = mg->mg_moremagic) {
26 262 0 if(mg->mg_virtual == vtbl)
38 84 41 for (j = 0; j < hl->ulen; ++j) {
41 103 84 for (k = 0; k < pl->ulen; ++k) {
111 254 21 if (SvROK(sv))
114 21 254 if (!mg)
135 8 0 MAGIC* mg = NULL;
138 8 0 if (SvROK(sv)) {
141 7 1 RETVAL = mg ? 1 : 0;
149 24 0 HList* hl = 0;
156 24 0 if (!SvOK(klass) || !SvPOK(klass)) {
0 24 if (!SvOK(klass) || !SvPOK(klass)) {
161 0 24 if ( argc % 2 ) {
166 0 24 if (!(hl = hlist_create()))
172 42 24 for (j = 1; j <= argc; ) {
176 0 42 if (j > argc) {
197 0 13 if (!(clone = hlist_clone(hl)))
203 46 13 for (j = 0; j < clone->ulen; ++j) {
206 58 46 for (k = 0; k < plist->ulen; ++k) {
255 3 7 if (argc != 2) {
261 6 1 if (!SvOK(pkey) || !SvPOK(pkey)) {
0 6 if (!SvOK(pkey) || !SvPOK(pkey)) {
267 4 2 if (!hlist_get(hl, ckey)) {
289 0 11 if (argc % 2 != 0) {
293 11 11 for (j = 1; j <= argc; ) {
294 0 11 if (j > argc) {
299 0 11 if (j > argc) {
330 1 139 if (argc == 0) {
334 87 52 if (argc == 1) {
338 65 22 if (n && plist_size(n->values) > 0) {
65 0 if (n && plist_size(n->values) > 0) {
346 0 52 if (argc % 2 != 0) {
351 57 52 for (j = 1; j <= argc; ) {
352 0 57 if (j > argc) {
357 0 57 if (j > argc) {
364 56 1 if (! hlist_get(seen, ckey)) {
370 17 40 if (n) {
371 15 2 if (j > argc && plist_size(n->values) > 0) {
15 0 if (j > argc && plist_size(n->values) > 0) {
377 16 1 if (clear) {
411 1 3 if (argc != 1) {
416 2 1 if (!SvOK(pkey) || !SvPOK(pkey)) {
0 2 if (!SvOK(pkey) || !SvPOK(pkey)) {
421 2 0 if (n && plist_size(n->values) > 0) {
2 0 if (n && plist_size(n->values) > 0) {
447 22 15 for (j = 1; j <= argc; ++j) {
452 5 17 if (!n) {
457 17 0 if (size > 0) {
459 7 10 if (GIMME_V == G_ARRAY) {
470 5 10 if (GIMME_V == G_SCALAR) {
472 0 5 EXTEND(SP, 1);
491 0 4 if (!(to = hlist_create()))
496 34 4 for (j = 0; j < hl->ulen; ) {
498 14 20 if (! header_is_entity(n->header)) {
512 32 0 int size = 0;
518 3 27 if ( items > 1 ) {
536 4 0 int size = 0;
542 0 2 if ( items > 1 ) {
566 3 2 for (j = 0; j < hl->ulen; ++j) {
570 4 3 for (k = 0; k < pl->ulen; ++k) {
590 3 2 for (j = 0; j < hl->ulen; ++j) {
594 4 3 for (k = 0; k < pl->ulen; ++k) {
614 5 1 if (!SvOK(sub) || !SvRV(sub) || SvTYPE( SvRV(sub) ) != SVt_PVCV ) {
5 0 if (!SvOK(sub) || !SvRV(sub) || SvTYPE( SvRV(sub) ) != SVt_PVCV ) {
0 5 if (!SvOK(sub) || !SvRV(sub) || SvTYPE( SvRV(sub) ) != SVt_PVCV ) {
619 15 4 for (j = 0; j < hl->ulen; ++j) {
624 19 14 for (k = 0; k < pl->ulen; ++k) {
631 0 19 PUSHMARK(SP);
637 0 18 FREETMPS;