Branch Coverage

XS.xs
Criterion Covered Total %
branch 50 120 41.6


line true false branch
27 12 43 bool need_cb = read_cb && write_cb;
12 0 bool need_cb = read_cb && write_cb;
29 12 43 if (need_cb) {
32 2 10 if (opts & IsNamed) {
38 37 6 } else if (pkg_key != NULL) {
46 55 0 const char* hash_key_buf = SvPV_const(hash_key, len);
47 2 53 SV* s_hash_key = newSVpvn_share(hash_key_buf, SvUTF8(hash_key) ? -(I32)len : (I32)len, 0);
50 49 6 if (pkg_key != NULL) {
51 49 0 const char* pkg_key_buf = SvPV_const(pkg_key, len);
52 2 47 SV* s_pkg_key = newSVpvn_share(pkg_key_buf, SvUTF8(pkg_key) ? -(I32)len : (I32)len, 0);
56 12 43 if (need_cb) {
57 10 2 if (SvROK(read_cb) && SvTYPE(SvRV(read_cb)) == SVt_PVCV) {
10 0 if (SvROK(read_cb) && SvTYPE(SvRV(read_cb)) == SVt_PVCV) {
63 7 5 if (SvROK(write_cb) && SvTYPE(SvRV(write_cb)) == SVt_PVCV) {
7 0 if (SvROK(write_cb) && SvTYPE(SvRV(write_cb)) == SVt_PVCV) {
73 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;
76 8 21 if (is_lazy) {
83 10 19 if (is_varclass) {
97 19 10 if (SvOK(default_sv)) {
19 0 if (SvOK(default_sv)) {
0 19 if (SvOK(default_sv)) {
98 8 2 if (is_lazy) {
113 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;
152 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));