Branch Coverage

Pluggable.xs
Criterion Covered Total %
branch 53 96 55.2


line true false branch
127 49617 0 if (PL_parser && PL_parser->error_count) {
0 49617 if (PL_parser && PL_parser->error_count) {
132 0 49617 if (kw_len > (STRLEN)I32_MAX) {
136 0 49617 if (lex_bufutf8()) {
140 49617 0 if ((hints = GvHV(PL_hintgv)) && (psv = hv_fetchs(hints, HINTK_KEYWORDS, 0))) {
81 49536 if ((hints = GvHV(PL_hintgv)) && (psv = hv_fetchs(hints, HINTK_KEYWORDS, 0))) {
142 81 0 if (!(SvROK(sv) && (sv2 = SvRV(sv), SvTYPE(sv2) == SVt_PVHV))) {
0 81 if (!(SvROK(sv) && (sv2 = SvRV(sv), SvTYPE(sv2) == SVt_PVHV))) {
145 49536 0 } else if (PL_curstash && (psv = hv_fetchs(PL_curstash, KEYWORDS, 0))) {
13 49523 } else if (PL_curstash && (psv = hv_fetchs(PL_curstash, KEYWORDS, 0))) {
147 0 13 if (SvTYPE(sv) != SVt_PVGV)
148 0 0 croak("%s: internal error: %s{'%s'} not a stash: %"SVf, MY_PKG, HvNAME(PL_curstash), KEYWORDS, SVfARG(sv));
0 0 croak("%s: internal error: %s{'%s'} not a stash: %"SVf, MY_PKG, HvNAME(PL_curstash), KEYWORDS, SVfARG(sv));
0 0 croak("%s: internal error: %s{'%s'} not a stash: %"SVf, MY_PKG, HvNAME(PL_curstash), KEYWORDS, SVfARG(sv));
0 0 croak("%s: internal error: %s{'%s'} not a stash: %"SVf, MY_PKG, HvNAME(PL_curstash), KEYWORDS, SVfARG(sv));
0 0 croak("%s: internal error: %s{'%s'} not a stash: %"SVf, MY_PKG, HvNAME(PL_curstash), KEYWORDS, SVfARG(sv));
0 0 croak("%s: internal error: %s{'%s'} not a stash: %"SVf, MY_PKG, HvNAME(PL_curstash), KEYWORDS, SVfARG(sv));
153 45810 3807 if (!sv2 || !(psv = hv_fetch((HV *)sv2, kw_ptr, kw_xlen, 0))) {
45793 17 if (!sv2 || !(psv = hv_fetch((HV *)sv2, kw_ptr, kw_xlen, 0))) {
158 17 0 if (!(SvROK(sv) && (av = (AV*)SvRV(sv), SvTYPE((SV*)av) == SVt_PVAV))) {
0 17 if (!(SvROK(sv) && (av = (AV*)SvRV(sv), SvTYPE((SV*)av) == SVt_PVAV))) {
162 0 17 if (av_len(av) != 1) {
166 0 17 if ( !( psv = av_fetch(av, 0, 0))) {
171 0 17 if ( !( psv = av_fetch(av, 1, 0))) {
182 115 0 SV *sv = FILTER_DATA(idx);
185 14 101 if (!len) {
189 93 8 if (!n) {
191 93 0 d = nl ? (STRLEN)(nl - ptr + 1) : len;
193 8 0 d = n < 0 ? INT_MAX : n;
194 8 0 if (d > len) {
213 0 17 if (lex_bufutf8()) {
222 3 14 if (PL_parser->rsfp || PL_parser_filtered) {
0 3 if (PL_parser->rsfp || PL_parser_filtered) {
223 0 14 if (!PL_rsfp_filters) {
227 14 14 while (FILTER_READ(0, sv, 4096) > 0)
231 0 17 PUSHMARK(SP);
232 0 17 mXPUSHs(newRV_inc(sv));
237 17 0 cb_result_sv = cb_result_ct? POPs: &PL_sv_undef;
244 17 0 p = SvGROW(sv, n + 2);
0 17 p = SvGROW(sv, n + 2);
250 3 14 if (PL_parser->rsfp || PL_parser_filtered) {
0 3 if (PL_parser->rsfp || PL_parser_filtered) {
257 17 0 FREETMPS;
272 17 49600 if ((cb = kw_handler(aTHX_ keyword_ptr, keyword_len, &mode))) {
282 1 1 mode = cb_result? KEYWORD_PLUGIN_EXPR: KEYWORD_PLUGIN_STMT;
288 4 13 if (mode == KEYWORD_PLUGIN_EXPR) {
325 0 2 if ( !global_kw ) return;
332 0 0 if ( !global_kw ) return;