Branch Coverage

yyjson.h
Criterion Covered Total %
branch 493 1074 45.9


line true false branch
4966 2 0 if (tag == (YYJSON_TYPE_NUM | YYJSON_SUBTYPE_REAL)) {
4968 0 0 } else if (tag == (YYJSON_TYPE_NUM | YYJSON_SUBTYPE_SINT)) {
4970 0 0 } else if (tag == (YYJSON_TYPE_NUM | YYJSON_SUBTYPE_UINT)) {
4991 1000 1210 size_t ofs = (is_ctn ? ctn_ofs : sizeof(yyjson_val));
5 2010 size_t ofs = (is_ctn ? ctn_ofs : sizeof(yyjson_val));
99 10016 size_t ofs = (is_ctn ? ctn_ofs : sizeof(yyjson_val));
7 1021 size_t ofs = (is_ctn ? ctn_ofs : sizeof(yyjson_val));
4997 5 5 return unsafe_yyjson_get_len(val) == len &&
4998 4 1 memcmp(((yyjson_val *)val)->uni.str, str, len) == 0;
5119 0 0 return doc ? doc->root : NULL;
0 0 return doc ? doc->root : NULL;
6 0 return doc ? doc->root : NULL;
1214 0 return doc ? doc->root : NULL;
20 0 return doc ? doc->root : NULL;
5 0 return doc ? doc->root : NULL;
5131 0 0 if (doc) {
0 0 if (doc) {
0 0 if (doc) {
1214 0 if (doc) {
5134 0 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
0 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
0 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
1 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
0 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
1 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
5 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
0 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
0 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
20 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
3 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
5 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
10082 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
1214 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
5162 3 0 return val ? unsafe_yyjson_is_bool(val) : false;
3 0 return val ? unsafe_yyjson_is_bool(val) : false;
2 0 return val ? unsafe_yyjson_is_bool(val) : false;
2 0 return val ? unsafe_yyjson_is_bool(val) : false;
4 0 return val ? unsafe_yyjson_is_bool(val) : false;
4 0 return val ? unsafe_yyjson_is_bool(val) : false;
3 0 return val ? unsafe_yyjson_is_bool(val) : false;
3 0 return val ? unsafe_yyjson_is_bool(val) : false;
5174 1007 0 return val ? unsafe_yyjson_is_int(val) : false;
1007 0 return val ? unsafe_yyjson_is_int(val) : false;
0 0 return val ? unsafe_yyjson_is_int(val) : false;
0 0 return val ? unsafe_yyjson_is_int(val) : false;
45 0 return val ? unsafe_yyjson_is_int(val) : false;
45 0 return val ? unsafe_yyjson_is_int(val) : false;
10 0 return val ? unsafe_yyjson_is_int(val) : false;
10 0 return val ? unsafe_yyjson_is_int(val) : false;
11021 0 return val ? unsafe_yyjson_is_int(val) : false;
11021 0 return val ? unsafe_yyjson_is_int(val) : false;
1 0 return val ? unsafe_yyjson_is_int(val) : false;
1 0 return val ? unsafe_yyjson_is_int(val) : false;
4 0 return val ? unsafe_yyjson_is_int(val) : false;
4 0 return val ? unsafe_yyjson_is_int(val) : false;
0 0 return val ? unsafe_yyjson_is_int(val) : false;
0 0 return val ? unsafe_yyjson_is_int(val) : false;
0 0 return val ? unsafe_yyjson_is_int(val) : false;
0 0 return val ? unsafe_yyjson_is_int(val) : false;
2 0 return val ? unsafe_yyjson_is_int(val) : false;
2 0 return val ? unsafe_yyjson_is_int(val) : false;
8 0 return val ? unsafe_yyjson_is_int(val) : false;
8 0 return val ? unsafe_yyjson_is_int(val) : false;
5178 0 0 return val ? unsafe_yyjson_is_real(val) : false;
0 0 return val ? unsafe_yyjson_is_real(val) : false;
0 0 return val ? unsafe_yyjson_is_real(val) : false;
0 0 return val ? unsafe_yyjson_is_real(val) : false;
1 0 return val ? unsafe_yyjson_is_real(val) : false;
1 0 return val ? unsafe_yyjson_is_real(val) : false;
5186 2214 0 return val ? unsafe_yyjson_is_str(val) : false;
2214 0 return val ? unsafe_yyjson_is_str(val) : false;
2015 0 return val ? unsafe_yyjson_is_str(val) : false;
2015 0 return val ? unsafe_yyjson_is_str(val) : false;
21 0 return val ? unsafe_yyjson_is_str(val) : false;
21 0 return val ? unsafe_yyjson_is_str(val) : false;
3 0 return val ? unsafe_yyjson_is_str(val) : false;
3 0 return val ? unsafe_yyjson_is_str(val) : false;
10 0 return val ? unsafe_yyjson_is_str(val) : false;
10 0 return val ? unsafe_yyjson_is_str(val) : false;
1028 0 return val ? unsafe_yyjson_is_str(val) : false;
1028 0 return val ? unsafe_yyjson_is_str(val) : false;
15 0 return val ? unsafe_yyjson_is_str(val) : false;
15 0 return val ? unsafe_yyjson_is_str(val) : false;
3 0 return val ? unsafe_yyjson_is_str(val) : false;
3 0 return val ? unsafe_yyjson_is_str(val) : false;
5 0 return val ? unsafe_yyjson_is_str(val) : false;
5 0 return val ? unsafe_yyjson_is_str(val) : false;
5190 1205 0 return val ? unsafe_yyjson_is_arr(val) : false;
1205 0 return val ? unsafe_yyjson_is_arr(val) : false;
1205 0 return val ? unsafe_yyjson_is_arr(val) : false;
1205 0 return val ? unsafe_yyjson_is_arr(val) : false;
1205 0 return val ? unsafe_yyjson_is_arr(val) : false;
1205 0 return val ? unsafe_yyjson_is_arr(val) : false;
108 0 return val ? unsafe_yyjson_is_arr(val) : false;
108 0 return val ? unsafe_yyjson_is_arr(val) : false;
108 0 return val ? unsafe_yyjson_is_arr(val) : false;
108 0 return val ? unsafe_yyjson_is_arr(val) : false;
108 0 return val ? unsafe_yyjson_is_arr(val) : false;
108 0 return val ? unsafe_yyjson_is_arr(val) : false;
5194 1009 0 return val ? unsafe_yyjson_is_obj(val) : false;
1009 0 return val ? unsafe_yyjson_is_obj(val) : false;
1009 0 return val ? unsafe_yyjson_is_obj(val) : false;
1009 0 return val ? unsafe_yyjson_is_obj(val) : false;
21 0 return val ? unsafe_yyjson_is_obj(val) : false;
21 0 return val ? unsafe_yyjson_is_obj(val) : false;
21 0 return val ? unsafe_yyjson_is_obj(val) : false;
21 0 return val ? unsafe_yyjson_is_obj(val) : false;
5208 0 0 return val ? unsafe_yyjson_get_type(val) : YYJSON_TYPE_NONE;
1 0 return val ? unsafe_yyjson_get_type(val) : YYJSON_TYPE_NONE;
1214 0 return val ? unsafe_yyjson_get_type(val) : YYJSON_TYPE_NONE;
5439 0 return val ? unsafe_yyjson_get_type(val) : YYJSON_TYPE_NONE;
86 0 return val ? unsafe_yyjson_get_type(val) : YYJSON_TYPE_NONE;
11168 0 return val ? unsafe_yyjson_get_type(val) : YYJSON_TYPE_NONE;
8 0 return val ? unsafe_yyjson_get_type(val) : YYJSON_TYPE_NONE;
5212 1007 0 return val ? unsafe_yyjson_get_subtype(val) : YYJSON_SUBTYPE_NONE;
55 0 return val ? unsafe_yyjson_get_subtype(val) : YYJSON_SUBTYPE_NONE;
11023 0 return val ? unsafe_yyjson_get_subtype(val) : YYJSON_SUBTYPE_NONE;
16 0 return val ? unsafe_yyjson_get_subtype(val) : YYJSON_SUBTYPE_NONE;
5241 3 0 return yyjson_is_bool(val) ? unsafe_yyjson_get_bool(val) : false;
2 1 return yyjson_is_bool(val) ? unsafe_yyjson_get_bool(val) : false;
2 0 return yyjson_is_bool(val) ? unsafe_yyjson_get_bool(val) : false;
1 1 return yyjson_is_bool(val) ? unsafe_yyjson_get_bool(val) : false;
4 0 return yyjson_is_bool(val) ? unsafe_yyjson_get_bool(val) : false;
3 1 return yyjson_is_bool(val) ? unsafe_yyjson_get_bool(val) : false;
3 0 return yyjson_is_bool(val) ? unsafe_yyjson_get_bool(val) : false;
2 1 return yyjson_is_bool(val) ? unsafe_yyjson_get_bool(val) : false;
5245 1007 0 return yyjson_is_int(val) ? unsafe_yyjson_get_uint(val) : 0;
45 0 return yyjson_is_int(val) ? unsafe_yyjson_get_uint(val) : 0;
11021 0 return yyjson_is_int(val) ? unsafe_yyjson_get_uint(val) : 0;
4 0 return yyjson_is_int(val) ? unsafe_yyjson_get_uint(val) : 0;
8 0 return yyjson_is_int(val) ? unsafe_yyjson_get_uint(val) : 0;
5249 0 0 return yyjson_is_int(val) ? unsafe_yyjson_get_sint(val) : 0;
10 0 return yyjson_is_int(val) ? unsafe_yyjson_get_sint(val) : 0;
1 0 return yyjson_is_int(val) ? unsafe_yyjson_get_sint(val) : 0;
0 0 return yyjson_is_int(val) ? unsafe_yyjson_get_sint(val) : 0;
0 0 return yyjson_is_int(val) ? unsafe_yyjson_get_sint(val) : 0;
2 0 return yyjson_is_int(val) ? unsafe_yyjson_get_sint(val) : 0;
5257 0 0 return yyjson_is_real(val) ? unsafe_yyjson_get_real(val) : 0.0;
0 0 return yyjson_is_real(val) ? unsafe_yyjson_get_real(val) : 0.0;
1 0 return yyjson_is_real(val) ? unsafe_yyjson_get_real(val) : 0.0;
5261 2 0 return val ? unsafe_yyjson_get_num(val) : 0.0;
5265 2214 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
2015 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
21 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
3 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
10 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
1028 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
15 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
3 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
5 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
5269 2214 0 return val ? unsafe_yyjson_get_len(val) : 0;
2015 0 return val ? unsafe_yyjson_get_len(val) : 0;
21 0 return val ? unsafe_yyjson_get_len(val) : 0;
3 0 return val ? unsafe_yyjson_get_len(val) : 0;
10 0 return val ? unsafe_yyjson_get_len(val) : 0;
1028 0 return val ? unsafe_yyjson_get_len(val) : 0;
15 0 return val ? unsafe_yyjson_get_len(val) : 0;
3 0 return val ? unsafe_yyjson_get_len(val) : 0;
5 0 return val ? unsafe_yyjson_get_len(val) : 0;
1 0 return val ? unsafe_yyjson_get_len(val) : 0;
5282 10 0 if (yyjson_likely(val && str)) {
10 0 if (yyjson_likely(val && str)) {
5283 10 0 return unsafe_yyjson_is_str(val) &&
5284 4 6 unsafe_yyjson_equals_strn(val, str, len);
5391 1205 0 return yyjson_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
1205 0 return yyjson_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
108 0 return yyjson_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
108 0 return yyjson_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
5410 1205 0 if (yyjson_likely(yyjson_is_arr(arr))) {
108 0 if (yyjson_likely(yyjson_is_arr(arr))) {
5411 1205 0 if (yyjson_likely(unsafe_yyjson_get_len(arr) > 0)) {
107 1 if (yyjson_likely(unsafe_yyjson_get_len(arr) > 0)) {
5480 1009 0 return yyjson_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
1009 0 return yyjson_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
21 0 return yyjson_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
21 0 return yyjson_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
5661 5007 10008 if (yyjson_unlikely((size_t)(pool->end - pool->cur) <= len)) {
2 5005 if (yyjson_unlikely((size_t)(pool->end - pool->cur) <= len)) {
4 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) <= len)) {
5662 0 5007 if (yyjson_unlikely(!unsafe_yyjson_str_pool_grow(pool, alc, len + 1))) {
0 2 if (yyjson_unlikely(!unsafe_yyjson_str_pool_grow(pool, alc, len + 1))) {
0 4 if (yyjson_unlikely(!unsafe_yyjson_str_pool_grow(pool, alc, len + 1))) {
5674 0 15015 if (yyjson_unlikely(!mem)) return NULL;
0 5007 if (yyjson_unlikely(!mem)) return NULL;
0 4 if (yyjson_unlikely(!mem)) return NULL;
5685 0 1 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 1 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
1 5002 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
5007 5004 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 15015 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
1 25028 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
1 5006 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
2 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
3 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
2 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
4 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
2 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
1 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
4 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
5686 0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 1 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 5007 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 1 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 1 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 2 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 3 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 2 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 4 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 0 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 2 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 1 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
0 4 if (yyjson_unlikely(!unsafe_yyjson_val_pool_grow(pool, alc, count))) {
5702 1 0 return doc ? doc->root : NULL;
3 0 return doc ? doc->root : NULL;
10082 0 return doc ? doc->root : NULL;
5707 5 0 if (doc) doc->root = root;
3 0 if (doc) doc->root = root;
1 0 if (doc) doc->root = root;
5005 0 if (doc) doc->root = root;
1 0 if (doc) doc->root = root;
4 0 if (doc) doc->root = root;
2 0 if (doc) doc->root = root;
3 0 if (doc) doc->root = root;
2 0 if (doc) doc->root = root;
4 0 if (doc) doc->root = root;
3 0 if (doc) doc->root = root;
4 0 if (doc) doc->root = root;
5003 0 if (doc) doc->root = root;
4 0 if (doc) doc->root = root;
1 0 if (doc) doc->root = root;
5721 1 0 return val ? unsafe_yyjson_is_null(val) : false;
1 0 return val ? unsafe_yyjson_is_null(val) : false;
2 0 return val ? unsafe_yyjson_is_null(val) : false;
1 1 return val ? unsafe_yyjson_is_null(val) : false;
5733 4 0 return val ? unsafe_yyjson_is_bool(val) : false;
3 1 return val ? unsafe_yyjson_is_bool(val) : false;
4 0 return val ? unsafe_yyjson_is_bool(val) : false;
3 1 return val ? unsafe_yyjson_is_bool(val) : false;
5737 2 0 return val ? unsafe_yyjson_is_uint(val) : false;
1 1 return val ? unsafe_yyjson_is_uint(val) : false;
5741 1 0 return val ? unsafe_yyjson_is_sint(val) : false;
0 1 return val ? unsafe_yyjson_is_sint(val) : false;
5749 2 0 return val ? unsafe_yyjson_is_real(val) : false;
1 1 return val ? unsafe_yyjson_is_real(val) : false;
5753 20 0 return val ? unsafe_yyjson_is_num(val) : false;
16 4 return val ? unsafe_yyjson_is_num(val) : false;
3 0 return val ? unsafe_yyjson_is_num(val) : false;
2 1 return val ? unsafe_yyjson_is_num(val) : false;
5757 15015 0 return val ? unsafe_yyjson_is_str(val) : false;
15015 0 return val ? unsafe_yyjson_is_str(val) : false;
30 0 return val ? unsafe_yyjson_is_str(val) : false;
10 20 return val ? unsafe_yyjson_is_str(val) : false;
2 0 return val ? unsafe_yyjson_is_str(val) : false;
1 1 return val ? unsafe_yyjson_is_str(val) : false;
1 0 return val ? unsafe_yyjson_is_str(val) : false;
1 0 return val ? unsafe_yyjson_is_str(val) : false;
5761 15009 0 return val ? unsafe_yyjson_is_arr(val) : false;
15009 0 return val ? unsafe_yyjson_is_arr(val) : false;
6 0 return val ? unsafe_yyjson_is_arr(val) : false;
6 0 return val ? unsafe_yyjson_is_arr(val) : false;
6 0 return val ? unsafe_yyjson_is_arr(val) : false;
6 0 return val ? unsafe_yyjson_is_arr(val) : false;
6 0 return val ? unsafe_yyjson_is_arr(val) : false;
6 0 return val ? unsafe_yyjson_is_arr(val) : false;
17 0 return val ? unsafe_yyjson_is_arr(val) : false;
16 1 return val ? unsafe_yyjson_is_arr(val) : false;
16 0 return val ? unsafe_yyjson_is_arr(val) : false;
16 0 return val ? unsafe_yyjson_is_arr(val) : false;
16 0 return val ? unsafe_yyjson_is_arr(val) : false;
16 0 return val ? unsafe_yyjson_is_arr(val) : false;
0 0 return val ? unsafe_yyjson_is_arr(val) : false;
0 0 return val ? unsafe_yyjson_is_arr(val) : false;
11 0 return val ? unsafe_yyjson_is_arr(val) : false;
4 7 return val ? unsafe_yyjson_is_arr(val) : false;
5 0 return val ? unsafe_yyjson_is_arr(val) : false;
4 1 return val ? unsafe_yyjson_is_arr(val) : false;
4 0 return val ? unsafe_yyjson_is_arr(val) : false;
4 0 return val ? unsafe_yyjson_is_arr(val) : false;
4 0 return val ? unsafe_yyjson_is_arr(val) : false;
4 0 return val ? unsafe_yyjson_is_arr(val) : false;
4 0 return val ? unsafe_yyjson_is_arr(val) : false;
0 4 return val ? unsafe_yyjson_is_arr(val) : false;
3 0 return val ? unsafe_yyjson_is_arr(val) : false;
1 2 return val ? unsafe_yyjson_is_arr(val) : false;
12 0 return val ? unsafe_yyjson_is_arr(val) : false;
9 3 return val ? unsafe_yyjson_is_arr(val) : false;
9 0 return val ? unsafe_yyjson_is_arr(val) : false;
9 0 return val ? unsafe_yyjson_is_arr(val) : false;
8 0 return val ? unsafe_yyjson_is_arr(val) : false;
5 3 return val ? unsafe_yyjson_is_arr(val) : false;
5 0 return val ? unsafe_yyjson_is_arr(val) : false;
5 0 return val ? unsafe_yyjson_is_arr(val) : false;
5765 15015 0 return val ? unsafe_yyjson_is_obj(val) : false;
15015 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
28 0 return val ? unsafe_yyjson_is_obj(val) : false;
28 0 return val ? unsafe_yyjson_is_obj(val) : false;
14 0 return val ? unsafe_yyjson_is_obj(val) : false;
9 5 return val ? unsafe_yyjson_is_obj(val) : false;
9 0 return val ? unsafe_yyjson_is_obj(val) : false;
9 0 return val ? unsafe_yyjson_is_obj(val) : false;
15 0 return val ? unsafe_yyjson_is_obj(val) : false;
4 11 return val ? unsafe_yyjson_is_obj(val) : false;
4 0 return val ? unsafe_yyjson_is_obj(val) : false;
0 4 return val ? unsafe_yyjson_is_obj(val) : false;
3 0 return val ? unsafe_yyjson_is_obj(val) : false;
2 1 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
0 0 return val ? unsafe_yyjson_is_obj(val) : false;
0 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
1 0 return val ? unsafe_yyjson_is_obj(val) : false;
3 0 return val ? unsafe_yyjson_is_obj(val) : false;
2 1 return val ? unsafe_yyjson_is_obj(val) : false;
11 0 return val ? unsafe_yyjson_is_obj(val) : false;
2 9 return val ? unsafe_yyjson_is_obj(val) : false;
2 0 return val ? unsafe_yyjson_is_obj(val) : false;
2 0 return val ? unsafe_yyjson_is_obj(val) : false;
4 0 return val ? unsafe_yyjson_is_obj(val) : false;
3 1 return val ? unsafe_yyjson_is_obj(val) : false;
3 0 return val ? unsafe_yyjson_is_obj(val) : false;
3 0 return val ? unsafe_yyjson_is_obj(val) : false;
3 0 return val ? unsafe_yyjson_is_obj(val) : false;
3 0 return val ? unsafe_yyjson_is_obj(val) : false;
0 0 return val ? unsafe_yyjson_is_obj(val) : false;
0 0 return val ? unsafe_yyjson_is_obj(val) : false;
3 0 return val ? unsafe_yyjson_is_obj(val) : false;
3 0 return val ? unsafe_yyjson_is_obj(val) : false;
3 0 return val ? unsafe_yyjson_is_obj(val) : false;
2 1 return val ? unsafe_yyjson_is_obj(val) : false;
2 0 return val ? unsafe_yyjson_is_obj(val) : false;
2 0 return val ? unsafe_yyjson_is_obj(val) : false;
5845 2 0 if (yyjson_unlikely(!lhs || !rhs)) return false;
0 2 if (yyjson_unlikely(!lhs || !rhs)) return false;
3 0 if (yyjson_unlikely(!lhs || !rhs)) return false;
0 3 if (yyjson_unlikely(!lhs || !rhs)) return false;
6009 1 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
1 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
2 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
2 0 yyjson_mut_val_one({ unsafe_yyjson_set_null(val); });
6022 1 0 yyjson_mut_val_one({ unsafe_yyjson_set_bool(val, _val); });
1 0 yyjson_mut_val_one({ unsafe_yyjson_set_bool(val, _val); });
1 0 yyjson_mut_val_one({ unsafe_yyjson_set_bool(val, _val); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_bool(val, _val); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_bool(val, _val); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_bool(val, _val); });
4 0 yyjson_mut_val_one({ unsafe_yyjson_set_bool(val, _val); });
4 0 yyjson_mut_val_one({ unsafe_yyjson_set_bool(val, _val); });
2 2 yyjson_mut_val_one({ unsafe_yyjson_set_bool(val, _val); });
6027 0 0 yyjson_mut_val_one({ unsafe_yyjson_set_uint(val, num); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_uint(val, num); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_uint(val, num); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_uint(val, num); });
6032 25029 0 yyjson_mut_val_one({ unsafe_yyjson_set_sint(val, num); });
25029 0 yyjson_mut_val_one({ unsafe_yyjson_set_sint(val, num); });
2 0 yyjson_mut_val_one({ unsafe_yyjson_set_sint(val, num); });
2 0 yyjson_mut_val_one({ unsafe_yyjson_set_sint(val, num); });
6052 0 0 yyjson_mut_val_one({ unsafe_yyjson_set_real(val, num); });
0 0 yyjson_mut_val_one({ unsafe_yyjson_set_real(val, num); });
1 0 yyjson_mut_val_one({ unsafe_yyjson_set_real(val, num); });
1 0 yyjson_mut_val_one({ unsafe_yyjson_set_real(val, num); });
6082 15015 0 yyjson_mut_val_one_str({
15015 0 yyjson_mut_val_one_str({
15015 0 yyjson_mut_val_one_str({
0 15015 yyjson_mut_val_one_str({
5007 0 yyjson_mut_val_one_str({
5007 0 yyjson_mut_val_one_str({
5007 0 yyjson_mut_val_one_str({
0 5007 yyjson_mut_val_one_str({
4 0 yyjson_mut_val_one_str({
4 0 yyjson_mut_val_one_str({
4 0 yyjson_mut_val_one_str({
0 4 yyjson_mut_val_one_str({
6099 6 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
6 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
6 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
16 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
16 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
4 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
4 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
5 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
6114 6 0 if (yyjson_likely(yyjson_mut_arr_size(arr) > 0)) {
16 0 if (yyjson_likely(yyjson_mut_arr_size(arr) > 0)) {
2 2 if (yyjson_likely(yyjson_mut_arr_size(arr) > 0)) {
6136 9 0 if (yyjson_likely(yyjson_mut_is_arr(arr) && iter)) {
9 0 if (yyjson_likely(yyjson_mut_is_arr(arr) && iter)) {
6139 8 1 iter->cur = iter->max ? (yyjson_mut_val *)arr->uni.ptr : NULL;
6144 0 0 if (iter) memset(iter, 0, sizeof(yyjson_mut_arr_iter));
6156 1021 0 return iter ? iter->idx < iter->max : false;
1014 7 return iter ? iter->idx < iter->max : false;
6161 1014 0 if (iter && iter->idx < iter->max) {
1014 0 if (iter && iter->idx < iter->max) {
6197 5003 0 if (yyjson_likely(val)) {
3 0 if (yyjson_likely(val)) {
6407 15009 0 if (yyjson_likely(yyjson_mut_is_arr(arr) && val)) {
15009 0 if (yyjson_likely(yyjson_mut_is_arr(arr) && val)) {
6410 5003 10006 if (len == 0) {
6751 1 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
1 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
9 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
1 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
1 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
0 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
1 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
3 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
3 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
0 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
3 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
2 0 return yyjson_mut_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
6781 2 0 if (yyjson_likely(yyjson_mut_is_obj(obj) && iter)) {
2 0 if (yyjson_likely(yyjson_mut_is_obj(obj) && iter)) {
6784 1 1 iter->cur = iter->max ? (yyjson_mut_val *)obj->uni.ptr : NULL;
6789 0 0 if (iter) memset(iter, 0, sizeof(yyjson_mut_obj_iter));
6801 5 0 return iter ? iter->idx < iter->max : false;
3 2 return iter ? iter->idx < iter->max : false;
6806 3 0 if (iter && iter->idx < iter->max) {
3 0 if (iter && iter->idx < iter->max) {
6818 3 0 return key ? key->next : NULL;
6873 10011 0 if (yyjson_likely(val)) {
2 0 if (yyjson_likely(val)) {
7027 15015 0 if (yyjson_likely(yyjson_mut_is_obj(obj) &&
15015 0 if (yyjson_likely(yyjson_mut_is_obj(obj) &&
15015 0 if (yyjson_likely(yyjson_mut_is_obj(obj) &&
15015 0 if (yyjson_likely(yyjson_mut_is_obj(obj) &&
7029 5004 10011 unsafe_yyjson_mut_obj_add(obj, key, val, unsafe_yyjson_get_len(obj));
7528 0 28 yyjson_ptr_set_err(NONE, NULL);
0 6 yyjson_ptr_set_err(NONE, NULL);
0 5128 yyjson_ptr_set_err(NONE, NULL);
7529 0 28 if (ctx) memset(ctx, 0, sizeof(*ctx));
0 6 if (ctx) memset(ctx, 0, sizeof(*ctx));
0 5128 if (ctx) memset(ctx, 0, sizeof(*ctx));
7531 28 0 if (yyjson_unlikely(!val || !ptr)) {
0 28 if (yyjson_unlikely(!val || !ptr)) {
6 0 if (yyjson_unlikely(!val || !ptr)) {
0 6 if (yyjson_unlikely(!val || !ptr)) {
5128 0 if (yyjson_unlikely(!val || !ptr)) {
0 5128 if (yyjson_unlikely(!val || !ptr)) {
7532 0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
7535 0 28 if (yyjson_unlikely(len == 0)) {
0 6 if (yyjson_unlikely(len == 0)) {
0 5128 if (yyjson_unlikely(len == 0)) {
7538 0 28 if (yyjson_unlikely(*ptr != '/')) {
0 6 if (yyjson_unlikely(*ptr != '/')) {
0 5128 if (yyjson_unlikely(*ptr != '/')) {
7539 0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
7628 1 0 yyjson_ptr_set_err(NONE, NULL);
5 0 yyjson_ptr_set_err(NONE, NULL);
7629 0 1 if (ctx) memset(ctx, 0, sizeof(*ctx));
0 5 if (ctx) memset(ctx, 0, sizeof(*ctx));
7631 1 0 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
0 1 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
1 0 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
0 1 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
1 0 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
0 1 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
5 0 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
0 5 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
5 0 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
0 5 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
5 0 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
0 5 if (yyjson_unlikely(!val || !ptr || !new_val || !doc)) {
7632 0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
7635 0 1 if (yyjson_unlikely(len == 0)) {
0 5 if (yyjson_unlikely(len == 0)) {
7636 0 0 yyjson_ptr_set_err(SET_ROOT, "cannot set root");
0 0 yyjson_ptr_set_err(SET_ROOT, "cannot set root");
7639 0 1 if (yyjson_unlikely(*ptr != '/')) {
0 5 if (yyjson_unlikely(*ptr != '/')) {
7640 0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
7732 3 0 yyjson_ptr_set_err(NONE, NULL);
10026 0 yyjson_ptr_set_err(NONE, NULL);
7733 0 3 if (ctx) memset(ctx, 0, sizeof(*ctx));
0 10026 if (ctx) memset(ctx, 0, sizeof(*ctx));
7735 3 0 if (yyjson_unlikely(!val || !ptr || !doc)) {
0 3 if (yyjson_unlikely(!val || !ptr || !doc)) {
3 0 if (yyjson_unlikely(!val || !ptr || !doc)) {
0 3 if (yyjson_unlikely(!val || !ptr || !doc)) {
10026 0 if (yyjson_unlikely(!val || !ptr || !doc)) {
0 10026 if (yyjson_unlikely(!val || !ptr || !doc)) {
10026 0 if (yyjson_unlikely(!val || !ptr || !doc)) {
0 10026 if (yyjson_unlikely(!val || !ptr || !doc)) {
7736 0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
7739 0 3 if (yyjson_unlikely(len == 0)) {
0 10026 if (yyjson_unlikely(len == 0)) {
7740 0 0 yyjson_ptr_set_err(SET_ROOT, "cannot set root");
0 0 yyjson_ptr_set_err(SET_ROOT, "cannot set root");
7743 0 3 if (yyjson_unlikely(*ptr != '/')) {
0 10026 if (yyjson_unlikely(*ptr != '/')) {
7744 0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
7747 0 3 if (!new_val) {
0 10026 if (!new_val) {
7887 4 0 yyjson_ptr_set_err(NONE, NULL);
7888 4 0 if (ctx) memset(ctx, 0, sizeof(*ctx));
7890 4 0 if (yyjson_unlikely(!val || !ptr)) {
0 4 if (yyjson_unlikely(!val || !ptr)) {
7891 0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
7894 0 4 if (yyjson_unlikely(len == 0)) {
7895 0 0 yyjson_ptr_set_err(SET_ROOT, "cannot set root");
7898 0 4 if (yyjson_unlikely(*ptr != '/')) {
7899 0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");