Branch Coverage

yyjson.h
Criterion Covered Total %
branch 478 1110 43.0


line true false branch
4966 0 3 if (tag == (YYJSON_TYPE_NUM | YYJSON_SUBTYPE_REAL)) {
4968 0 3 } else if (tag == (YYJSON_TYPE_NUM | YYJSON_SUBTYPE_SINT)) {
4970 3 0 } else if (tag == (YYJSON_TYPE_NUM | YYJSON_SUBTYPE_UINT)) {
4991 1000 4 size_t ofs = (is_ctn ? ctn_ofs : sizeof(yyjson_val));
3 2006 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 4 5 return unsafe_yyjson_get_len(val) == len &&
4998 3 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;
10 0 return doc ? doc->root : NULL;
20 0 return doc ? doc->root : NULL;
4 0 return doc ? doc->root : NULL;
5131 0 0 if (doc) {
0 0 if (doc) {
0 0 if (doc) {
10 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);
4 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
10070 0 if (doc->str_pool) alc.free(alc.ctx, doc->str_pool);
10 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 1006 0 return val ? unsafe_yyjson_is_int(val) : false;
1006 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;
34 0 return val ? unsafe_yyjson_is_int(val) : false;
34 0 return val ? unsafe_yyjson_is_int(val) : false;
7 0 return val ? unsafe_yyjson_is_int(val) : false;
7 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;
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 1005 0 return val ? unsafe_yyjson_is_str(val) : false;
1005 0 return val ? unsafe_yyjson_is_str(val) : false;
2009 0 return val ? unsafe_yyjson_is_str(val) : false;
2009 0 return val ? unsafe_yyjson_is_str(val) : false;
16 0 return val ? unsafe_yyjson_is_str(val) : false;
16 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 3 0 return val ? unsafe_yyjson_is_arr(val) : false;
3 0 return val ? unsafe_yyjson_is_arr(val) : false;
3 0 return val ? unsafe_yyjson_is_arr(val) : false;
3 0 return val ? unsafe_yyjson_is_arr(val) : false;
3 0 return val ? unsafe_yyjson_is_arr(val) : false;
3 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 1005 0 return val ? unsafe_yyjson_is_obj(val) : false;
1005 0 return val ? unsafe_yyjson_is_obj(val) : false;
1005 0 return val ? unsafe_yyjson_is_obj(val) : false;
1005 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;
10 0 return val ? unsafe_yyjson_get_type(val) : YYJSON_TYPE_NONE;
3023 0 return val ? unsafe_yyjson_get_type(val) : YYJSON_TYPE_NONE;
65 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 1006 0 return val ? unsafe_yyjson_get_subtype(val) : YYJSON_SUBTYPE_NONE;
41 0 return val ? unsafe_yyjson_get_subtype(val) : YYJSON_SUBTYPE_NONE;
11023 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 1006 0 return yyjson_is_int(val) ? unsafe_yyjson_get_uint(val) : 0;
34 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;
5249 0 0 return yyjson_is_int(val) ? unsafe_yyjson_get_sint(val) : 0;
7 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;
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 3 0 return val ? unsafe_yyjson_get_num(val) : 0.0;
5265 1005 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
2009 0 return yyjson_is_str(val) ? unsafe_yyjson_get_str(val) : NULL;
16 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 1005 0 return val ? unsafe_yyjson_get_len(val) : 0;
2009 0 return val ? unsafe_yyjson_get_len(val) : 0;
16 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 9 0 if (yyjson_likely(val && str)) {
9 0 if (yyjson_likely(val && str)) {
5283 9 0 return unsafe_yyjson_is_str(val) &&
5284 3 6 unsafe_yyjson_equals_strn(val, str, len);
5391 3 0 return yyjson_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
3 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 3 0 if (yyjson_likely(yyjson_is_arr(arr))) {
108 0 if (yyjson_likely(yyjson_is_arr(arr))) {
5411 3 0 if (yyjson_likely(unsafe_yyjson_get_len(arr) > 0)) {
107 1 if (yyjson_likely(unsafe_yyjson_get_len(arr) > 0)) {
5480 1005 0 return yyjson_is_obj(obj) ? unsafe_yyjson_get_len(obj) : 0;
1005 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 5003 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 5005 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 25025 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
1 5004 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)) {
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)) {
0 0 if (yyjson_unlikely((size_t)(pool->end - pool->cur) < count)) {
0 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 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 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))) {
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))) {
5702 1 0 return doc ? doc->root : NULL;
3 0 return doc ? doc->root : NULL;
10070 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;
2 0 if (doc) doc->root = root;
1 0 if (doc) doc->root = root;
5721 2 0 return val ? unsafe_yyjson_is_null(val) : false;
1 1 return val ? unsafe_yyjson_is_null(val) : false;
5733 3 0 return val ? unsafe_yyjson_is_bool(val) : false;
3 0 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 6 0 return val ? unsafe_yyjson_is_num(val) : false;
3 3 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;
15 0 return val ? unsafe_yyjson_is_str(val) : false;
9 6 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;
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;
4 0 return val ? unsafe_yyjson_is_arr(val) : false;
8 0 return val ? unsafe_yyjson_is_arr(val) : false;
7 1 return val ? unsafe_yyjson_is_arr(val) : false;
7 0 return val ? unsafe_yyjson_is_arr(val) : false;
7 0 return val ? unsafe_yyjson_is_arr(val) : false;
7 0 return val ? unsafe_yyjson_is_arr(val) : false;
7 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;
13 0 return val ? unsafe_yyjson_is_obj(val) : false;
13 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 25026 0 yyjson_mut_val_one({ unsafe_yyjson_set_sint(val, num); });
25026 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({
5005 0 yyjson_mut_val_one_str({
5005 0 yyjson_mut_val_one_str({
5005 0 yyjson_mut_val_one_str({
0 5005 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 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;
4 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
7 0 return yyjson_mut_is_arr(arr) ? unsafe_yyjson_get_len(arr) : 0;
7 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 4 0 if (yyjson_likely(yyjson_mut_arr_size(arr) > 0)) {
7 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;
6871 10011 0 if (yyjson_likely(doc)) {
0 0 if (yyjson_likely(doc)) {
0 0 if (yyjson_likely(doc)) {
0 0 if (yyjson_likely(doc)) {
6873 10011 0 if (yyjson_likely(val)) {
0 0 if (yyjson_likely(val)) {
0 0 if (yyjson_likely(val)) {
2 0 if (yyjson_likely(val)) {
0 0 if (yyjson_likely(val)) {
0 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 13 yyjson_ptr_set_err(NONE, NULL);
0 5104 yyjson_ptr_set_err(NONE, NULL);
7529 0 13 if (ctx) memset(ctx, 0, sizeof(*ctx));
0 5104 if (ctx) memset(ctx, 0, sizeof(*ctx));
7531 13 0 if (yyjson_unlikely(!val || !ptr)) {
0 13 if (yyjson_unlikely(!val || !ptr)) {
5104 0 if (yyjson_unlikely(!val || !ptr)) {
0 5104 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");
7535 0 13 if (yyjson_unlikely(len == 0)) {
0 5104 if (yyjson_unlikely(len == 0)) {
7538 0 13 if (yyjson_unlikely(*ptr != '/')) {
0 5104 if (yyjson_unlikely(*ptr != '/')) {
7539 0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
7565 1 0 yyjson_ptr_set_err(NONE, NULL);
4 0 yyjson_ptr_set_err(NONE, NULL);
7566 0 1 if (ctx) memset(ctx, 0, sizeof(*ctx));
0 4 if (ctx) memset(ctx, 0, sizeof(*ctx));
7568 1 0 if (yyjson_unlikely(!doc || !ptr || !new_val)) {
0 1 if (yyjson_unlikely(!doc || !ptr || !new_val)) {
1 0 if (yyjson_unlikely(!doc || !ptr || !new_val)) {
0 1 if (yyjson_unlikely(!doc || !ptr || !new_val)) {
4 0 if (yyjson_unlikely(!doc || !ptr || !new_val)) {
0 4 if (yyjson_unlikely(!doc || !ptr || !new_val)) {
4 0 if (yyjson_unlikely(!doc || !ptr || !new_val)) {
0 4 if (yyjson_unlikely(!doc || !ptr || !new_val)) {
7569 0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
7572 0 1 if (yyjson_unlikely(len == 0)) {
0 4 if (yyjson_unlikely(len == 0)) {
7573 0 0 if (doc->root) {
0 0 if (doc->root) {
7574 0 0 yyjson_ptr_set_err(SET_ROOT, "cannot set document's root");
0 0 yyjson_ptr_set_err(SET_ROOT, "cannot set document's root");
7581 0 1 if (yyjson_unlikely(*ptr != '/')) {
0 4 if (yyjson_unlikely(*ptr != '/')) {
7582 0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
7585 0 1 if (yyjson_unlikely(!doc->root && !create_parent)) {
0 0 if (yyjson_unlikely(!doc->root && !create_parent)) {
0 4 if (yyjson_unlikely(!doc->root && !create_parent)) {
0 0 if (yyjson_unlikely(!doc->root && !create_parent)) {
7586 0 0 yyjson_ptr_set_err(NULL_ROOT, "document's root is NULL");
0 0 yyjson_ptr_set_err(NULL_ROOT, "document's root is NULL");
7589 0 1 if (yyjson_unlikely(!doc->root)) {
0 4 if (yyjson_unlikely(!doc->root)) {
7591 0 0 if (yyjson_unlikely(!root)) {
0 0 if (yyjson_unlikely(!root)) {
7592 0 0 yyjson_ptr_set_err(MEMORY_ALLOCATION, "failed to create value");
0 0 yyjson_ptr_set_err(MEMORY_ALLOCATION, "failed to create value");
7595 0 0 if (unsafe_yyjson_mut_ptr_putx(root, ptr, len, new_val, doc,
0 0 if (unsafe_yyjson_mut_ptr_putx(root, ptr, len, new_val, doc,
7666 2 0 yyjson_ptr_set_err(NONE, NULL);
10021 0 yyjson_ptr_set_err(NONE, NULL);
7667 0 2 if (ctx) memset(ctx, 0, sizeof(*ctx));
0 10021 if (ctx) memset(ctx, 0, sizeof(*ctx));
7669 2 0 if (yyjson_unlikely(!doc || !ptr)) {
0 2 if (yyjson_unlikely(!doc || !ptr)) {
10021 0 if (yyjson_unlikely(!doc || !ptr)) {
0 10021 if (yyjson_unlikely(!doc || !ptr)) {
7670 0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
7673 0 2 if (yyjson_unlikely(len == 0)) {
0 10021 if (yyjson_unlikely(len == 0)) {
7674 0 0 if (ctx) ctx->old = doc->root;
0 0 if (ctx) ctx->old = doc->root;
7678 0 2 if (yyjson_unlikely(*ptr != '/')) {
0 10021 if (yyjson_unlikely(*ptr != '/')) {
7679 0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");
7682 0 2 if (!new_val) {
0 10021 if (!new_val) {
7683 0 0 if (!doc->root) {
0 0 if (!doc->root) {
7684 0 0 yyjson_ptr_set_err(RESOLVE, "JSON pointer cannot be resolved");
0 0 yyjson_ptr_set_err(RESOLVE, "JSON pointer cannot be resolved");
7689 0 2 if (yyjson_unlikely(!doc->root && !create_parent)) {
0 0 if (yyjson_unlikely(!doc->root && !create_parent)) {
0 10021 if (yyjson_unlikely(!doc->root && !create_parent)) {
0 0 if (yyjson_unlikely(!doc->root && !create_parent)) {
7690 0 0 yyjson_ptr_set_err(NULL_ROOT, "document's root is NULL");
0 0 yyjson_ptr_set_err(NULL_ROOT, "document's root is NULL");
7693 0 2 if (yyjson_unlikely(!doc->root)) {
0 10021 if (yyjson_unlikely(!doc->root)) {
7695 0 0 if (yyjson_unlikely(!root)) {
0 0 if (yyjson_unlikely(!root)) {
7696 0 0 yyjson_ptr_set_err(MEMORY_ALLOCATION, "failed to create value");
0 0 yyjson_ptr_set_err(MEMORY_ALLOCATION, "failed to create value");
7699 0 0 if (unsafe_yyjson_mut_ptr_putx(root, ptr, len, new_val, doc,
0 0 if (unsafe_yyjson_mut_ptr_putx(root, ptr, len, new_val, doc,
7846 4 0 yyjson_ptr_set_err(NONE, NULL);
7847 4 0 if (ctx) memset(ctx, 0, sizeof(*ctx));
7849 4 0 if (yyjson_unlikely(!doc || !ptr)) {
0 4 if (yyjson_unlikely(!doc || !ptr)) {
7850 0 0 yyjson_ptr_set_err(PARAMETER, "input parameter is NULL");
7853 0 4 if (yyjson_unlikely(!doc->root)) {
7854 0 0 yyjson_ptr_set_err(NULL_ROOT, "document's root is NULL");
7857 0 4 if (yyjson_unlikely(len == 0)) {
7859 0 0 if (ctx) ctx->old = root;
7863 0 4 if (yyjson_unlikely(*ptr != '/')) {
7864 0 0 yyjson_ptr_set_err(SYNTAX, "no prefix '/'");