Branch Coverage

XS.xs
Criterion Covered Total %
branch 50 120 41.6


line true false branch
21 12 43 bool need_cb = read_cb && write_cb;
12 0 bool need_cb = read_cb && write_cb;
23 12 43 if (need_cb) {
26 2 10 if (opts & IsNamed) {
32 37 6 } else if (pkg_key != NULL) {
40 55 0 const char* hash_key_buf = SvPV_const(hash_key, len);
41 2 53 SV* s_hash_key = newSVpvn_share(hash_key_buf, SvUTF8(hash_key) ? -(I32)len : (I32)len, 0);
44 49 6 if (pkg_key != NULL) {
45 49 0 const char* pkg_key_buf = SvPV_const(pkg_key, len);
46 2 47 SV* s_pkg_key = newSVpvn_share(pkg_key_buf, SvUTF8(pkg_key) ? -(I32)len : (I32)len, 0);
50 12 43 if (need_cb) {
51 10 2 if (SvROK(read_cb) && SvTYPE(SvRV(read_cb)) == SVt_PVCV) {
10 0 if (SvROK(read_cb) && SvTYPE(SvRV(read_cb)) == SVt_PVCV) {
57 7 5 if (SvROK(write_cb) && SvTYPE(SvRV(write_cb)) == SVt_PVCV) {
7 0 if (SvROK(write_cb) && SvTYPE(SvRV(write_cb)) == SVt_PVCV) {
67 8 21 bool is_lazy = SvROK(default_sv) && SvTYPE(SvRV(default_sv)) == SVt_PVCV;
8 0 bool is_lazy = SvROK(default_sv) && SvTYPE(SvRV(default_sv)) == SVt_PVCV;
70 8 21 if (is_lazy) {
77 10 19 if (is_varclass) {
91 19 10 if (SvOK(default_sv)) {
19 0 if (SvOK(default_sv)) {
0 19 if (SvOK(default_sv)) {
92 8 2 if (is_lazy) {
107 0 38 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 0 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
0 38 if (check_env && SvTRUE(*check_env)) optimize_entersub = 0;
146 29 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
29 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 29 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 29 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 29 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
29 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
29 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
19 10 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 19 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));
0 0 CAIXS_install_class_accessor(aTHX_ full_name, default_sv, SvTRUE(is_varclass), SvIV(opts));