Branch Coverage

/usr/local/lib/perl5/site_perl/5.26.1/x86_64-linux/XS/libpanda.x/i/panda/cast.h
Criterion Covered Total %
branch 194 438 44.2


line true false branch
16 1 0 if (!map) {
1 0 if (!map) {
1 0 if (!map) {
1 0 if (!map) {
2 0 if (!map) {
1 0 if (!map) {
1 0 if (!map) {
2 0 if (!map) {
3 3 if (!map) {
2 2 if (!map) {
1 0 if (!map) {
1 0 if (!map) {
1 0 if (!map) {
1 0 if (!map) {
2 0 if (!map) {
1 0 if (!map) {
1 0 if (!map) {
2 0 if (!map) {
3 3 if (!map) {
9 245 if (!map) {
17 1 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
2 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
2 0 thread_local DynCastCacheMap _map;
3 0 thread_local DynCastCacheMap _map;
2 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
2 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
1 0 thread_local DynCastCacheMap _map;
2 0 thread_local DynCastCacheMap _map;
3 0 thread_local DynCastCacheMap _map;
9 0 thread_local DynCastCacheMap _map;
32 0 1 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 2 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 2 if (!obj) return NULL;
0 6 if (!obj) return NULL;
0 4 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 2 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 1 if (!obj) return NULL;
0 2 if (!obj) return NULL;
0 6 if (!obj) return NULL;
0 254 if (!obj) return NULL;
34 1 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
2 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
2 0 intptr_t key = (intptr_t)typeid(*obj).name();
6 0 intptr_t key = (intptr_t)typeid(*obj).name();
4 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
2 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
1 0 intptr_t key = (intptr_t)typeid(*obj).name();
2 0 intptr_t key = (intptr_t)typeid(*obj).name();
6 0 intptr_t key = (intptr_t)typeid(*obj).name();
254 0 intptr_t key = (intptr_t)typeid(*obj).name();
37 1 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
2 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
2 0 DynCastCacheMap::iterator it = map.find(key);
6 0 DynCastCacheMap::iterator it = map.find(key);
4 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
2 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
1 0 DynCastCacheMap::iterator it = map.find(key);
2 0 DynCastCacheMap::iterator it = map.find(key);
6 0 DynCastCacheMap::iterator it = map.find(key);
254 0 DynCastCacheMap::iterator it = map.find(key);
38 0 1 if (it != map.end())
0 1 if (it != map.end())
0 1 if (it != map.end())
0 1 if (it != map.end())
0 2 if (it != map.end())
0 1 if (it != map.end())
0 1 if (it != map.end())
0 2 if (it != map.end())
3 3 if (it != map.end())
1 3 if (it != map.end())
0 1 if (it != map.end())
0 1 if (it != map.end())
0 1 if (it != map.end())
0 1 if (it != map.end())
0 2 if (it != map.end())
0 1 if (it != map.end())
0 1 if (it != map.end())
0 2 if (it != map.end())
3 3 if (it != map.end())
219 35 if (it != map.end())
39 0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
3 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
1 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
0 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
3 0 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
188 31 return it->second != INCORRECT_PTRDIFF ? reinterpret_cast((char*)obj - it->second) : NULL;
40 0 1 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 2 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 2 DERIVED* ret = dynamic_cast(obj);
0 3 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 2 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 1 DERIVED* ret = dynamic_cast(obj);
0 2 DERIVED* ret = dynamic_cast(obj);
0 3 DERIVED* ret = dynamic_cast(obj);
0 35 DERIVED* ret = dynamic_cast(obj);
41 1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
2 0 if (ret) map[key] = (char*)obj - (char*)ret;
2 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
2 0 if (ret) map[key] = (char*)obj - (char*)ret;
2 0 if (ret) map[key] = (char*)obj - (char*)ret;
3 0 if (ret) map[key] = (char*)obj - (char*)ret;
3 0 if (ret) map[key] = (char*)obj - (char*)ret;
3 0 if (ret) map[key] = (char*)obj - (char*)ret;
3 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
2 0 if (ret) map[key] = (char*)obj - (char*)ret;
2 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
1 0 if (ret) map[key] = (char*)obj - (char*)ret;
2 0 if (ret) map[key] = (char*)obj - (char*)ret;
2 0 if (ret) map[key] = (char*)obj - (char*)ret;
3 0 if (ret) map[key] = (char*)obj - (char*)ret;
3 0 if (ret) map[key] = (char*)obj - (char*)ret;
20 15 if (ret) map[key] = (char*)obj - (char*)ret;
20 0 if (ret) map[key] = (char*)obj - (char*)ret;
42 0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
0 0 else map[key] = INCORRECT_PTRDIFF;
15 0 else map[key] = INCORRECT_PTRDIFF;