Lines Matching refs:stackpos

44   int stackpos;                // parser  member
78 p->stacklen = p->stackpos = 0; in parser_init()
109 for (int i=0; i<p->stackpos; i++) in parser_reset()
111 p->stackpos = 0; in parser_reset()
142 assert(p->stackpos <= p->stacklen); in push()
143 if (p->stackpos == p->stacklen) { in push()
147 assert(p->stackpos < p->stacklen); in push()
148 p->stack[p->stackpos++] = v; in push()
154 if (p->stackpos >= MAX_PARSING_DEPTH) return "Exceeds depth limit for parsing"; in parse_token()
160 if (p->stackpos >= MAX_PARSING_DEPTH) return "Exceeds depth limit for parsing"; in parse_token()
168 if (p->stackpos == 0 || jv_get_kind(p->stack[p->stackpos-1]) != JV_KIND_OBJECT) in parse_token()
179 if (p->stackpos == 0) in parse_token()
181 if (jv_get_kind(p->stack[p->stackpos-1]) == JV_KIND_ARRAY) { in parse_token()
182 p->stack[p->stackpos-1] = jv_array_append(p->stack[p->stackpos-1], p->next); in parse_token()
184 } else if (jv_get_kind(p->stack[p->stackpos-1]) == JV_KIND_STRING) { in parse_token()
185 assert(p->stackpos > 1 && jv_get_kind(p->stack[p->stackpos-2]) == JV_KIND_OBJECT); in parse_token()
186 p->stack[p->stackpos-2] = jv_object_set(p->stack[p->stackpos-2], in parse_token()
187 p->stack[p->stackpos-1], p->next); in parse_token()
188 p->stackpos--; in parse_token()
197 if (p->stackpos == 0 || jv_get_kind(p->stack[p->stackpos-1]) != JV_KIND_ARRAY) in parse_token()
200 p->stack[p->stackpos-1] = jv_array_append(p->stack[p->stackpos-1], p->next); in parse_token()
203 if (jv_array_length(jv_copy(p->stack[p->stackpos-1])) != 0) { in parse_token()
209 p->next = p->stack[--p->stackpos]; in parse_token()
213 if (p->stackpos == 0) in parse_token()
216 if (jv_get_kind(p->stack[p->stackpos-1]) != JV_KIND_STRING) in parse_token()
218 assert(p->stackpos > 1 && jv_get_kind(p->stack[p->stackpos-2]) == JV_KIND_OBJECT); in parse_token()
219 p->stack[p->stackpos-2] = jv_object_set(p->stack[p->stackpos-2], in parse_token()
220 p->stack[p->stackpos-1], p->next); in parse_token()
221 p->stackpos--; in parse_token()
224 if (jv_get_kind(p->stack[p->stackpos-1]) != JV_KIND_OBJECT) in parse_token()
226 if (jv_object_length(jv_copy(p->stack[p->stackpos-1])) != 0) in parse_token()
230 p->next = p->stack[--p->stackpos]; in parse_token()
538 if (p->stackpos == 0 && jv_is_valid(p->next)) { in parse_check_done()
570 …return ((p->flags & JV_PARSE_SEQ) && !p->last_ch_was_ws && (p->stackpos > 0 || p->tokenpos > 0 || … in parse_check_truncation()
579 return (p->stackpos == 0 && jv_get_kind(p->next) == JV_KIND_NUMBER); in parse_is_top_num()
795 (!(p->flags & JV_PARSE_STREAMING) && p->stackpos != 0)) { in jv_parser_next()