| line | true | false | branch | 
 
| 28 | 0 | 542 | if (arg == NULL) { | 
 
| 32 | 0 | 542 | SvGETMAGIC(p_sv); | 
 
| 33 | 540 | 2 | if (SvTYPE(p_sv) == SVt_NULL || (SvTYPE(p_sv) < SVt_PVAV && !SvOK(p_sv))) { | 
 
|  | 540 | 0 | if (SvTYPE(p_sv) == SVt_NULL || (SvTYPE(p_sv) < SVt_PVAV && !SvOK(p_sv))) { | 
 
|  | 6 | 534 | if (SvTYPE(p_sv) == SVt_NULL || (SvTYPE(p_sv) < SVt_PVAV && !SvOK(p_sv))) { | 
 
|  | 6 | 0 | if (SvTYPE(p_sv) == SVt_NULL || (SvTYPE(p_sv) < SVt_PVAV && !SvOK(p_sv))) { | 
 
|  | 6 | 0 | if (SvTYPE(p_sv) == SVt_NULL || (SvTYPE(p_sv) < SVt_PVAV && !SvOK(p_sv))) { | 
 
| 37 | 182 | 352 | else if (SvROK(p_sv) && SvTYPE(SvRV(p_sv)) == SVt_IV) { | 
 
|  | 2 | 180 | else if (SvROK(p_sv) && SvTYPE(SvRV(p_sv)) == SVt_IV) { | 
 
| 40 | 2 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 2 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 2 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 2 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 2 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 2 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 1 | 1 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 1 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 1 | 1 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
| 42 | 180 | 352 | else if (SvROK(p_sv) && sv_derived_from(p_sv, "JSON::PP::Boolean")) { | 
 
|  | 15 | 165 | else if (SvROK(p_sv) && sv_derived_from(p_sv, "JSON::PP::Boolean")) { | 
 
| 44 | 15 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 15 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 15 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 15 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 15 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 15 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 7 | 8 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 7 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 8 | 7 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
|  | 0 | 0 | return jv_bool((bool)SvTRUE(SvRV(p_sv))); | 
 
| 46 | 33 | 484 | else if (SvIOK(p_sv)) { | 
 
| 48 | 33 | 0 | return jv_number(SvIV(p_sv)); | 
 
| 50 | 0 | 484 | else if (SvUOK(p_sv)) { | 
 
| 52 | 0 | 0 | return jv_number(SvUV(p_sv)); | 
 
| 54 | 6 | 478 | else if (SvNOK(p_sv)) { | 
 
| 56 | 6 | 0 | return jv_number(SvNV(p_sv)); | 
 
| 58 | 313 | 165 | else if (SvPOK(p_sv)) { | 
 
| 61 | 0 | 313 | char * p_pv = SvUTF8(p_sv) ? SvPVutf8(p_sv, len) : SvPV(p_sv, len); | 
 
|  | 0 | 0 | char * p_pv = SvUTF8(p_sv) ? SvPVutf8(p_sv, len) : SvPV(p_sv, len); | 
 
|  | 313 | 0 | char * p_pv = SvUTF8(p_sv) ? SvPVutf8(p_sv, len) : SvPV(p_sv, len); | 
 
| 65 | 165 | 0 | else if (SvROK(p_sv) && SvTYPE(SvRV(p_sv)) == SVt_PVAV) { | 
 
|  | 76 | 89 | else if (SvROK(p_sv) && SvTYPE(SvRV(p_sv)) == SVt_PVAV) { | 
 
| 70 | 75 | 1 | if (len < 0) { | 
 
| 74 | 215 | 75 | for (i = 0; i <= len; i++) { | 
 
| 79 | 89 | 0 | else if (SvROK(p_sv) && SvTYPE(SvRV(p_sv)) == SVt_PVHV) { | 
 
|  | 89 | 0 | else if (SvROK(p_sv) && SvTYPE(SvRV(p_sv)) == SVt_PVHV) { | 
 
| 85 | 63 | 89 | for (i = 0; i < len; i++) { | 
 
| 102 | 6 | 129 | if (kind == JV_KIND_NULL) { | 
 
| 106 | 4 | 125 | else if (kind == JV_KIND_FALSE) { | 
 
| 113 | 7 | 118 | else if (kind == JV_KIND_TRUE) { | 
 
| 119 | 39 | 79 | else if (kind == JV_KIND_NUMBER) { | 
 
| 123 | 34 | 5 | if (jv_is_integer(jval)) { | 
 
| 131 | 44 | 35 | else if (kind == JV_KIND_STRING) { | 
 
| 138 | 13 | 22 | else if (kind == JV_KIND_ARRAY) { | 
 
| 144 | 28 | 13 | for (i = 0; i < len; i++) { | 
 
| 151 | 22 | 0 | else if (kind == JV_KIND_OBJECT) { | 
 
| 155 | 37 | 22 | while (jv_object_iter_valid(jval, iter)) { | 
 
| 158 | 0 | 37 | if (jv_get_kind(key) != JV_KIND_STRING) { | 
 
| 192 | 0 | 162 | if (!sv_isa(self, "JSON::JQ")) { | 
 
| 199 | 0 | 0 | if (strncmp(p, "#!", sizeof("#!") - 1) != 0) | 
 
| 202 | 0 | 0 | if (n == NULL || n[1] != '#') | 
 
|  | 0 | 0 | if (n == NULL || n[1] != '#') | 
 
| 205 | 0 | 0 | if (n == NULL || n[1] == '#' || n[1] == '\0' || n[-1] != '\\' || n[-2] == '\\') | 
 
|  | 0 | 0 | if (n == NULL || n[1] == '#' || n[1] == '\0' || n[-1] != '\\' || n[-2] == '\\') | 
 
|  | 0 | 0 | if (n == NULL || n[1] == '#' || n[1] == '\0' || n[-1] != '\\' || n[-2] == '\\') | 
 
|  | 0 | 0 | if (n == NULL || n[1] == '#' || n[1] == '\0' || n[-1] != '\\' || n[-2] == '\\') | 
 
|  | 0 | 0 | if (n == NULL || n[1] == '#' || n[1] == '\0' || n[-1] != '\\' || n[-2] == '\\') | 
 
| 208 | 0 | 0 | if (n == NULL) | 
 
| 221 | 51 | 0 | RETVAL = JV_PRINT_INDENT_FLAGS(n); | 
 
|  | 51 | 0 | RETVAL = JV_PRINT_INDENT_FLAGS(n); | 
 
| 239 | 0 | 51 | if (_jq == NULL) { | 
 
| 251 | 51 | 0 | int dumpopts = (int)SvIV(*hv_fetchs(self, "_dumpopts", 0)); | 
 
| 257 | 153 | 51 | for (i = 0; i < len; i++) { | 
 
| 267 | 0 | 51 | if (hv_exists(self, "script_file", 11)) { | 
 
| 268 | 0 | 0 | jv data = jv_load_file(SvPV_nolen(*hv_fetchs(self, "script_file", 0)), 1); | 
 
| 269 | 0 | 0 | if (!jv_is_valid(data)) { | 
 
| 279 | 51 | 0 | script = SvPV_nolen(*hv_fetchs(self, "script", 0)); | 
 
| 283 | 50 | 1 | if (compiled) { | 
 
| 284 | 50 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 50 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 50 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 50 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 50 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 50 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 50 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 50 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
|  | 0 | 50 | if (SvTRUE(get_sv("JSON::JQ::DUMP_DISASM", 0))) { | 
 
| 309 | 60 | 0 | _jq = INT2PTR(jq_state *, SvIV(sv_jq)); | 
 
| 311 | 60 | 0 | int jq_flags = (int)SvIV(*hv_fetchs(self, "jq_flags", 0)); | 
 
| 319 | 70 | 60 | while (jv_is_valid(result = jq_next(_jq))) { | 
 
| 321 | 70 | 0 | if (jv_get_kind(result) == JV_KIND_FALSE || jv_get_kind(result) == JV_KIND_NULL) { | 
 
|  | 4 | 66 | if (jv_get_kind(result) == JV_KIND_FALSE || jv_get_kind(result) == JV_KIND_NULL) { | 
 
| 329 | 0 | 60 | if (jq_halted(_jq)) { | 
 
| 332 | 0 | 0 | if (!jv_get_kind(exit_code)) { | 
 
| 335 | 0 | 0 | else if (jv_get_kind(exit_code) == JV_KIND_NUMBER) { | 
 
| 343 | 0 | 0 | if (jv_get_kind(error_message) == JV_KIND_STRING) { | 
 
| 346 | 0 | 0 | else if (jv_get_kind(error_message) == JV_KIND_NULL) { | 
 
| 349 | 0 | 0 | else if (jv_is_valid(error_message)) { | 
 
| 358 | 0 | 60 | else if (jv_invalid_has_msg(jv_copy(result))) { | 
 
| 362 | 0 | 0 | if (jv_get_kind(msg) == JV_KIND_STRING) { | 
 
| 389 | 51 | 0 | _jq = INT2PTR(jq_state *, SvIV(sv_jq)); | 
 
| 390 | 51 | 0 | if (_jq != NULL) { | 
 
| 391 | 51 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 51 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 51 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 51 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 51 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 51 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 51 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 51 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 0 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { | 
 
|  | 0 | 51 | if (SvTRUE(get_sv("JSON::JQ::DEBUG", 0))) { |