Github User Fetcher 1.0.0
C Application with Server and GUI
|
#include "duk_internal.h"
Go to the source code of this file.
Macros | |
#define | DUK__JSON_DECSTR_BUFSIZE 128 |
#define | DUK__JSON_DECSTR_CHUNKSIZE 64 |
#define | DUK__JSON_ENCSTR_CHUNKSIZE 64 |
#define | DUK__JSON_STRINGIFY_BUFSIZE 128 |
#define | DUK__JSON_MAX_ESC_LEN 10 /* '\Udeadbeef' */ |
#define | DUK__EMIT_1(js_ctx, ch) duk__emit_1((js_ctx), (duk_uint_fast8_t) (ch)) |
#define | DUK__EMIT_2(js_ctx, ch1, ch2) duk__emit_2((js_ctx), (duk_uint_fast8_t) (ch1), (duk_uint_fast8_t) (ch2)) |
#define | DUK__EMIT_HSTR(js_ctx, h) duk__emit_hstring((js_ctx), (h)) |
#define | DUK__EMIT_CSTR(js_ctx, p) duk__emit_cstring((js_ctx), (p)) |
#define | DUK__EMIT_STRIDX(js_ctx, i) duk__emit_stridx((js_ctx), (i)) |
#define | DUK__UNEMIT_1(js_ctx) duk__unemit_1((js_ctx)) |
#define | DUK__MKESC(nybbles, esc1, esc2) |
Variables | |
DUK_LOCAL const duk_uint8_t | duk__json_quotestr_lookup [256] |
DUK_LOCAL const duk_uint8_t | duk__json_decstr_lookup [256] |
DUK_LOCAL const duk_uint8_t | duk__json_eatwhite_lookup [256] |
DUK_LOCAL const duk_uint8_t | duk__json_decnumber_lookup [256] |
#define DUK__EMIT_1 | ( | js_ctx, | |
ch ) duk__emit_1((js_ctx), (duk_uint_fast8_t) (ch)) |
Definition at line 1044 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__enc_array(), duk__enc_newline_indent(), duk__enc_object(), and duk__enc_quote_string().
#define DUK__EMIT_2 | ( | js_ctx, | |
ch1, | |||
ch2 ) duk__emit_2((js_ctx), (duk_uint_fast8_t) (ch1), (duk_uint_fast8_t) (ch2)) |
Definition at line 1045 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__enc_object().
#define DUK__EMIT_CSTR | ( | js_ctx, | |
p ) duk__emit_cstring((js_ctx), (p)) |
Definition at line 1048 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__enc_pointer().
#define DUK__EMIT_HSTR | ( | js_ctx, | |
h ) duk__emit_hstring((js_ctx), (h)) |
Definition at line 1046 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__enc_double(), and duk__enc_key_autoquote().
#define DUK__EMIT_STRIDX | ( | js_ctx, | |
i ) duk__emit_stridx((js_ctx), (i)) |
Definition at line 1050 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__enc_array(), duk__enc_bufferobject(), duk__enc_double(), and duk__enc_value().
#define DUK__JSON_DECSTR_BUFSIZE 128 |
Definition at line 23 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__dec_string().
#define DUK__JSON_DECSTR_CHUNKSIZE 64 |
Definition at line 24 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__dec_string().
#define DUK__JSON_ENCSTR_CHUNKSIZE 64 |
Definition at line 25 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__enc_quote_string().
#define DUK__JSON_MAX_ESC_LEN 10 /* '\Udeadbeef' */ |
Definition at line 27 of file duktape-1.5.2/src-separate/duk_bi_json.c.
#define DUK__JSON_STRINGIFY_BUFSIZE 128 |
Definition at line 26 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk_bi_json_stringify_helper().
#define DUK__MKESC | ( | nybbles, | |
esc1, | |||
esc2 ) |
Definition at line 1087 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__emit_esc_auto_fast().
#define DUK__UNEMIT_1 | ( | js_ctx | ) | duk__unemit_1((js_ctx)) |
Definition at line 1051 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__enc_array(), and duk__enc_object().
DUK_LOCAL_DECL void duk__dec_array | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 811 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_get_nonwhite(), duk__dec_objarr_entry(), duk__dec_objarr_exit(), duk__dec_syntax_error(), duk__dec_value(), DUK_ASC_COMMA, DUK_ASC_RBRACKET, DUK_DDD, DUK_DDDPRINT, duk_get_tval(), duk_push_array(), duk_set_length(), DUK_UNREACHABLE, duk_xdef_prop_index_wec, duk_json_dec_ctx::p, and duk_json_dec_ctx::thr.
Referenced by duk__dec_value().
DUK_LOCAL_DECL void duk__dec_buffer | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 583 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_syntax_error(), DUK_ASC_PIPE, DUK_ASSERT, duk_hex_decode(), DUK_MEMCPY, duk_push_fixed_buffer, DUK_UNREACHABLE, NULL, duk_json_dec_ctx::p, and duk_json_dec_ctx::thr.
Referenced by duk__dec_value().
DUK_LOCAL_DECL duk_uint_fast32_t duk__dec_decode_hex_escape | ( | duk_json_dec_ctx * | js_ctx, |
duk_small_uint_t | n ) |
Definition at line 256 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_get(), duk__dec_syntax_error(), DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, duk_hex_dectab, DUK_LIKELY, and DUK_UNREACHABLE.
Referenced by duk__dec_string_escape().
DUK_LOCAL_DECL void duk__dec_eat_white | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 210 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__json_eatwhite_lookup, DUK_ASSERT, and duk_json_dec_ctx::p.
Referenced by duk__dec_get_nonwhite(), and duk__dec_value().
DUK_LOCAL_DECL duk_uint8_t duk__dec_get | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 245 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK_ASSERT, duk_json_dec_ctx::p, and duk_json_dec_ctx::p_end.
Referenced by duk__dec_decode_hex_escape(), duk__dec_get_nonwhite(), duk__dec_req_stridx(), duk__dec_string(), and duk__dec_string_escape().
DUK_LOCAL_DECL duk_uint8_t duk__dec_get_nonwhite | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 250 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_eat_white(), and duk__dec_get().
Referenced by duk__dec_array(), duk__dec_object(), and duk__dec_value().
DUK_LOCAL_DECL void duk__dec_number | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 641 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_syntax_error(), duk__json_decnumber_lookup, DUK_ASC_0, DUK_ASC_9, DUK_ASC_LC_E, DUK_ASC_MINUS, DUK_ASC_PERIOD, DUK_ASC_PLUS, DUK_ASC_UC_E, DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, duk_get_tval(), duk_is_nan(), duk_is_number(), duk_numconv_parse(), duk_push_lstring(), DUK_S2N_FLAG_ALLOW_EXP, DUK_S2N_FLAG_ALLOW_FRAC, DUK_S2N_FLAG_ALLOW_MINUS, duk_json_dec_ctx::p, duk_json_dec_ctx::p_end, and duk_json_dec_ctx::thr.
Referenced by duk__dec_value().
DUK_LOCAL_DECL void duk__dec_objarr_entry | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 706 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK_ASSERT, DUK_ERROR_RANGE, DUK_JSON_DEC_REQSTACK, duk_require_stack(), DUK_STR_JSONDEC_RECLIMIT, duk_json_dec_ctx::recursion_depth, duk_json_dec_ctx::recursion_limit, and duk_json_dec_ctx::thr.
Referenced by duk__dec_array(), and duk__dec_object().
DUK_LOCAL_DECL void duk__dec_objarr_exit | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 720 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK_ASSERT, duk_json_dec_ctx::recursion_depth, and duk_json_dec_ctx::recursion_limit.
Referenced by duk__dec_array(), and duk__dec_object().
DUK_LOCAL_DECL void duk__dec_object | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 728 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_get_nonwhite(), duk__dec_objarr_entry(), duk__dec_objarr_exit(), duk__dec_plain_string(), duk__dec_string(), duk__dec_syntax_error(), duk__dec_value(), DUK_ASC_COLON, DUK_ASC_COMMA, DUK_ASC_DOUBLEQUOTE, DUK_ASC_RCURLY, DUK_DDD, DUK_DDDPRINT, duk_get_tval(), duk_push_object(), duk_unicode_is_identifier_start(), DUK_UNREACHABLE, duk_xdef_prop_wec, duk_json_dec_ctx::flag_ext_custom, and duk_json_dec_ctx::thr.
Referenced by duk__dec_value().
DUK_LOCAL_DECL duk_uint8_t duk__dec_peek | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 240 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK_ASSERT, duk_json_dec_ctx::p, and duk_json_dec_ctx::p_end.
Referenced by duk__dec_value().
DUK_LOCAL_DECL void duk__dec_plain_string | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 486 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_push_lstring(), duk_unicode_is_identifier_part(), duk_json_dec_ctx::p, and duk_json_dec_ctx::thr.
Referenced by duk__dec_object().
DUK_LOCAL_DECL void duk__dec_pointer | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 529 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_syntax_error(), DUK_ASC_RPAREN, duk_push_pointer(), DUK_SSCANF, DUK_STR_FMT_PTR, DUK_UNREACHABLE, NULL, duk_json_dec_ctx::p, and duk_json_dec_ctx::thr.
Referenced by duk__dec_value().
DUK_LOCAL_DECL void duk__dec_req_stridx | ( | duk_json_dec_ctx * | js_ctx, |
duk_small_uint_t | stridx ) |
Definition at line 289 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_get(), duk__dec_syntax_error(), DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_HEAP_NUM_STRINGS, DUK_HSTRING_GET_DATA, DUK_HTHREAD_GET_STRING, DUK_UNREACHABLE, NULL, duk_json_dec_ctx::p, and duk_json_dec_ctx::thr.
Referenced by duk__dec_value().
DUK_LOCAL_DECL void duk__dec_reviver_walk | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 951 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_reviver_walk(), duk_call_method(), DUK_DDD, DUK_DDDPRINT, duk_del_prop(), duk_del_prop_index(), duk_dup(), duk_dup_top(), duk_enum(), DUK_ENUM_OWN_PROPERTIES_ONLY, duk_get_hobject(), duk_get_length(), duk_get_prop(), duk_get_top(), duk_get_tval(), DUK_HOBJECT_CLASS_ARRAY, DUK_HOBJECT_GET_CLASS_NUMBER, duk_insert(), duk_is_undefined(), duk_next(), duk_pop(), duk_push_uint(), duk_put_prop(), duk_put_prop_index(), duk_to_string(), duk_json_dec_ctx::idx_reviver, NULL, and duk_json_dec_ctx::thr.
Referenced by duk__dec_reviver_walk(), and duk_bi_json_parse_helper().
DUK_LOCAL_DECL void duk__dec_string | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 376 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_get(), duk__dec_string_escape(), duk__dec_syntax_error(), DUK__JSON_DECSTR_BUFSIZE, DUK__JSON_DECSTR_CHUNKSIZE, duk__json_decstr_lookup, DUK_ASC_BACKSLASH, DUK_ASC_DOUBLEQUOTE, DUK_ASSERT, DUK_BW_ENSURE_RAW, DUK_BW_GET_PTR, DUK_BW_INIT_PUSHBUF, DUK_BW_SETPTR_AND_COMPACT, DUK_LIKELY, duk_to_string(), DUK_UNICODE_MAX_XUTF8_LENGTH, DUK_UNREACHABLE, duk_json_dec_ctx::p, and duk_json_dec_ctx::thr.
Referenced by duk__dec_object(), and duk__dec_value().
DUK_LOCAL duk_small_int_t duk__dec_string_escape | ( | duk_json_dec_ctx * | js_ctx, |
duk_uint8_t ** | ext_p ) |
Definition at line 327 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_decode_hex_escape(), duk__dec_get(), DUK_ASC_BACKSLASH, DUK_ASC_DOUBLEQUOTE, DUK_ASC_LC_B, DUK_ASC_LC_F, DUK_ASC_LC_N, DUK_ASC_LC_R, DUK_ASC_LC_T, DUK_ASC_LC_U, DUK_ASC_LC_X, DUK_ASC_SLASH, DUK_ASC_UC_U, DUK_RAW_WRITE_XUTF8, and duk_json_dec_ctx::flag_ext_custom.
Referenced by duk__dec_string().
DUK_LOCAL_DECL void duk__dec_syntax_error | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 201 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK_ERR_SYNTAX_ERROR, DUK_ERROR_FMT1, DUK_STR_FMT_INVALID_JSON, duk_json_dec_ctx::p, duk_json_dec_ctx::p_start, and duk_json_dec_ctx::thr.
Referenced by duk__dec_array(), duk__dec_buffer(), duk__dec_decode_hex_escape(), duk__dec_number(), duk__dec_object(), duk__dec_pointer(), duk__dec_req_stridx(), duk__dec_string(), duk__dec_value(), and duk_bi_json_parse_helper().
DUK_LOCAL_DECL void duk__dec_value | ( | duk_json_dec_ctx * | js_ctx | ) |
Definition at line 879 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_array(), duk__dec_buffer(), duk__dec_eat_white(), duk__dec_get_nonwhite(), duk__dec_number(), duk__dec_object(), duk__dec_peek(), duk__dec_pointer(), duk__dec_req_stridx(), duk__dec_string(), duk__dec_syntax_error(), DUK_ASC_0, DUK_ASC_9, DUK_ASC_DOUBLEQUOTE, DUK_ASC_LBRACKET, DUK_ASC_LC_F, DUK_ASC_LC_N, DUK_ASC_LC_T, DUK_ASC_LC_U, DUK_ASC_LCURLY, DUK_ASC_LPAREN, DUK_ASC_MINUS, DUK_ASC_PIPE, DUK_ASC_UC_I, DUK_ASC_UC_N, DUK_DDD, DUK_DDDPRINT, DUK_DOUBLE_INFINITY, duk_push_false(), duk_push_nan(), duk_push_null(), duk_push_number(), duk_push_true(), duk_push_undefined(), DUK_STRIDX_FALSE, DUK_STRIDX_INFINITY, DUK_STRIDX_LC_NULL, DUK_STRIDX_LC_UNDEFINED, DUK_STRIDX_MINUS_INFINITY, DUK_STRIDX_NAN, DUK_STRIDX_TRUE, DUK_UNREACHABLE, duk_json_dec_ctx::flag_ext_custom, duk_json_dec_ctx::p, and duk_json_dec_ctx::thr.
Referenced by duk__dec_array(), duk__dec_object(), and duk_bi_json_parse_helper().
DUK_LOCAL_DECL void duk__emit_1 | ( | duk_json_enc_ctx * | js_ctx, |
duk_uint_fast8_t | ch ) |
Definition at line 1053 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, DUK_BW_WRITE_ENSURE_U8, and duk_json_enc_ctx::thr.
DUK_LOCAL_DECL void duk__emit_2 | ( | duk_json_enc_ctx * | js_ctx, |
duk_uint_fast8_t | ch1, | ||
duk_uint_fast8_t | ch2 ) |
Definition at line 1057 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, DUK_BW_WRITE_ENSURE_U8_2, and duk_json_enc_ctx::thr.
DUK_LOCAL void duk__emit_cstring | ( | duk_json_enc_ctx * | js_ctx, |
const char * | str ) |
Definition at line 1066 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, DUK_BW_WRITE_ENSURE_CSTRING, and duk_json_enc_ctx::thr.
DUK_LOCAL_DECL duk_uint8_t * duk__emit_esc_auto_fast | ( | duk_json_enc_ctx * | js_ctx, |
duk_uint_fast32_t | cp, | ||
duk_uint8_t * | q ) |
Definition at line 1092 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK__MKESC, DUK_ASC_BACKSLASH, DUK_ASC_LC_U, DUK_ASC_LC_X, DUK_ASC_PLUS, DUK_ASC_UC_U, duk_lc_digits, DUK_LIKELY, DUK_UNLIKELY, DUK_UNREF, and duk_json_enc_ctx::flag_ext_custom.
Referenced by duk__enc_quote_string().
DUK_LOCAL_DECL void duk__emit_hstring | ( | duk_json_enc_ctx * | js_ctx, |
duk_hstring * | h ) |
Definition at line 1061 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, DUK_BW_WRITE_ENSURE_HSTRING, and duk_json_enc_ctx::thr.
DUK_LOCAL_DECL void duk__emit_stridx | ( | duk_json_enc_ctx * | js_ctx, |
duk_small_uint_t | stridx ) |
Definition at line 1071 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, DUK_ASSERT, DUK_ASSERT_DISABLE, DUK_BW_WRITE_ENSURE_HSTRING, DUK_HEAP_NUM_STRINGS, DUK_HTHREAD_GET_STRING, NULL, and duk_json_enc_ctx::thr.
DUK_LOCAL_DECL duk_bool_t duk__enc_allow_into_proplist | ( | duk_tval * | tv | ) |
Definition at line 2187 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK_ASSERT, DUK_HOBJECT_CLASS_NUMBER, DUK_HOBJECT_CLASS_STRING, DUK_HOBJECT_GET_CLASS_NUMBER, DUK_TVAL_GET_OBJECT, DUK_TVAL_IS_NUMBER, DUK_TVAL_IS_OBJECT, DUK_TVAL_IS_STRING, and NULL.
Referenced by duk_bi_json_stringify_helper().
DUK_LOCAL_DECL void duk__enc_array | ( | duk_json_enc_ctx * | js_ctx | ) |
Definition at line 1863 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, DUK__EMIT_1, DUK__EMIT_STRIDX, duk__enc_newline_indent(), duk__enc_objarr_entry(), duk__enc_objarr_exit(), duk__enc_value(), DUK__UNEMIT_1, DUK_ASC_COMMA, DUK_ASC_LBRACKET, DUK_ASC_RBRACKET, DUK_ASSERT, DUK_ASSERT_TOP, DUK_BW_GET_PTR, DUK_DDD, DUK_DDDPRINT, duk_get_length(), duk_get_tval(), duk_push_uint(), DUK_STRIDX_LC_NULL, duk_to_string(), DUK_UNLIKELY, duk_json_enc_ctx::h_gap, NULL, duk_json_enc_ctx::recursion_depth, and duk_json_enc_ctx::thr.
Referenced by duk__enc_value().
DUK_LOCAL_DECL void duk__enc_buffer | ( | duk_json_enc_ctx * | js_ctx, |
duk_hbuffer * | h ) |
Definition at line 1557 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__enc_buffer_data(), DUK_HBUFFER_GET_DATA_PTR, DUK_HBUFFER_GET_SIZE, duk_hthread::heap, and duk_json_enc_ctx::thr.
Referenced by duk__enc_value().
DUK_LOCAL void duk__enc_buffer_data | ( | duk_json_enc_ctx * | js_ctx, |
duk_uint8_t * | buf_data, | ||
duk_size_t | buf_len ) |
Definition at line 1503 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, duk__enc_buffer_data_hex(), DUK_ASC_DOUBLEQUOTE, DUK_ASC_PIPE, DUK_ASC_RCURLY, DUK_ASSERT, DUK_BW_ENSURE_GETPTR, DUK_BW_SET_PTR, DUK_HBUFFER_MAX_BYTELEN, DUK_MEMCPY, duk_json_enc_ctx::flag_ext_compatible, duk_json_enc_ctx::flag_ext_custom, duk_json_enc_ctx::flag_ext_custom_or_compatible, and duk_json_enc_ctx::thr.
Referenced by duk__enc_buffer(), and duk__enc_bufferobject().
DUK_LOCAL duk_uint8_t * duk__enc_buffer_data_hex | ( | const duk_uint8_t * | src, |
duk_size_t | src_len, | ||
duk_uint8_t * | dst ) |
Definition at line 1426 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK_ASSERT, DUK_DD, DUK_DDPRINT, duk_hex_enctab, duk_lc_digits, and DUK_MEMMOVE.
Referenced by duk__enc_buffer_data().
DUK_LOCAL_DECL void duk__enc_bufferobject | ( | duk_json_enc_ctx * | js_ctx, |
duk_hbufferobject * | h_bufobj ) |
Definition at line 1602 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_hbufferobject::buf, DUK__EMIT_STRIDX, duk__enc_buffer_data(), DUK_ASSERT_HBUFFEROBJECT_VALID, DUK_HBUFFEROBJECT_GET_SLICE_BASE, DUK_HBUFFEROBJECT_VALID_SLICE, DUK_STRIDX_LC_NULL, duk_hthread::heap, duk_hbufferobject::length, NULL, and duk_json_enc_ctx::thr.
Referenced by duk__enc_value().
DUK_LOCAL_DECL void duk__enc_double | ( | duk_json_enc_ctx * | js_ctx | ) |
Definition at line 1334 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK__EMIT_HSTR, DUK__EMIT_STRIDX, DUK_ASSERT, DUK_FP_INFINITE, DUK_FP_NAN, DUK_FP_ZERO, DUK_FPCLASSIFY, DUK_GET_TVAL_NEGIDX, DUK_ISFINITE, DUK_JSON_FLAG_EXT_COMPATIBLE, DUK_JSON_FLAG_EXT_CUSTOM, DUK_LIKELY, duk_numconv_stringify(), duk_push_hstring_stridx(), DUK_SIGNBIT, DUK_STRIDX_LC_NULL, DUK_STRIDX_MINUS_ZERO, duk_to_hstring(), DUK_TVAL_GET_DOUBLE, DUK_TVAL_IS_DOUBLE, DUK_UNLIKELY, DUK_UNREF, duk_json_enc_ctx::flag_ext_custom_or_compatible, duk_json_enc_ctx::flags, NULL, s, duk_json_enc_ctx::stridx_custom_nan, duk_json_enc_ctx::stridx_custom_neginf, duk_json_enc_ctx::stridx_custom_posinf, and duk_json_enc_ctx::thr.
Referenced by duk__enc_value().
DUK_LOCAL_DECL void duk__enc_key_autoquote | ( | duk_json_enc_ctx * | js_ctx, |
duk_hstring * | k ) |
Definition at line 1146 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK__EMIT_HSTR, duk__enc_quote_string(), DUK_ASSERT, DUK_HSTRING_GET_BYTELEN, DUK_HSTRING_GET_DATA, duk_unicode_is_identifier_part(), duk_unicode_is_identifier_start(), DUK_UNLIKELY, duk_json_enc_ctx::flag_avoid_key_quotes, and NULL.
Referenced by duk__enc_object().
DUK_LOCAL_DECL void duk__enc_newline_indent | ( | duk_json_enc_ctx * | js_ctx, |
duk_int_t | depth ) |
Definition at line 1630 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, depth, DUK__EMIT_1, DUK_ASSERT, DUK_BW_ENSURE_GETPTR, DUK_BW_SET_PTR, DUK_HSTRING_GET_BYTELEN, DUK_HSTRING_GET_DATA, DUK_MEMCPY, DUK_UNLIKELY, duk_json_enc_ctx::h_gap, NULL, and duk_json_enc_ctx::thr.
Referenced by duk__enc_array(), and duk__enc_object().
DUK_LOCAL_DECL void duk__enc_objarr_entry | ( | duk_json_enc_ctx * | js_ctx, |
duk_idx_t * | entry_top ) |
Definition at line 1683 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK_ASSERT, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, duk_dup_top(), DUK_ERROR_RANGE, DUK_ERROR_TYPE, duk_get_hobject(), duk_get_top(), duk_get_tval(), duk_has_prop(), DUK_JSON_ENC_LOOPARRAY, DUK_JSON_ENC_REQSTACK, duk_push_sprintf(), duk_push_true(), duk_put_prop(), duk_require_stack(), DUK_STR_CYCLIC_INPUT, DUK_STR_FMT_PTR, DUK_STR_JSONENC_RECLIMIT, DUK_UNLIKELY, duk_json_enc_ctx::idx_loop, NULL, duk_json_enc_ctx::recursion_depth, duk_json_enc_ctx::recursion_limit, duk_json_enc_ctx::thr, and duk_json_enc_ctx::visiting.
Referenced by duk__enc_array(), and duk__enc_object().
DUK_LOCAL_DECL void duk__enc_objarr_exit | ( | duk_json_enc_ctx * | js_ctx, |
duk_idx_t * | entry_top ) |
Definition at line 1735 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, duk_del_prop(), duk_get_hobject(), duk_get_top(), duk_get_tval(), DUK_JSON_ENC_LOOPARRAY, duk_push_sprintf(), duk_set_top(), DUK_STR_FMT_PTR, duk_json_enc_ctx::idx_loop, NULL, duk_json_enc_ctx::recursion_depth, duk_json_enc_ctx::recursion_limit, and duk_json_enc_ctx::thr.
Referenced by duk__enc_array(), and duk__enc_object().
DUK_LOCAL_DECL void duk__enc_object | ( | duk_json_enc_ctx * | js_ctx | ) |
Definition at line 1768 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, DUK__EMIT_1, DUK__EMIT_2, duk__enc_key_autoquote(), duk__enc_newline_indent(), duk__enc_objarr_entry(), duk__enc_objarr_exit(), duk__enc_value(), DUK__UNEMIT_1, DUK_ASC_COLON, DUK_ASC_COMMA, DUK_ASC_LCURLY, DUK_ASC_RCURLY, DUK_ASC_SPACE, DUK_ASSERT, DUK_ASSERT_TOP, DUK_BW_GET_PTR, DUK_BW_GET_SIZE, DUK_BW_SET_SIZE, DUK_DDD, DUK_DDDPRINT, duk_dup(), DUK_ENUM_OWN_PROPERTIES_ONLY, duk_get_hstring(), duk_get_length(), duk_get_prop_index(), duk_get_tval(), duk_hobject_get_enumerated_keys(), duk_require_normalize_index(), DUK_UNLIKELY, duk_json_enc_ctx::h_gap, duk_json_enc_ctx::idx_proplist, NULL, duk_json_enc_ctx::recursion_depth, and duk_json_enc_ctx::thr.
Referenced by duk__enc_value().
DUK_LOCAL_DECL void duk__enc_pointer | ( | duk_json_enc_ctx * | js_ctx, |
void * | ptr ) |
Definition at line 1565 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK__EMIT_CSTR, DUK_ASSERT, DUK_MEMZERO, DUK_SNPRINTF, duk_json_enc_ctx::flag_ext_compatible, duk_json_enc_ctx::flag_ext_custom, and duk_json_enc_ctx::flag_ext_custom_or_compatible.
Referenced by duk__enc_value().
DUK_LOCAL_DECL void duk__enc_quote_string | ( | duk_json_enc_ctx * | js_ctx, |
duk_hstring * | h_str ) |
Definition at line 1197 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, DUK__EMIT_1, duk__emit_esc_auto_fast(), DUK__JSON_ENCSTR_CHUNKSIZE, duk__json_quotestr_lookup, DUK_ASC_BACKSLASH, DUK_ASC_DOUBLEQUOTE, DUK_ASSERT, DUK_BW_ENSURE_GETPTR, DUK_BW_SET_PTR, DUK_DDD, DUK_DDDPRINT, DUK_HSTRING_GET_BYTELEN, DUK_HSTRING_GET_DATA, DUK_LIKELY, DUK_RAW_WRITE_XUTF8, duk_unicode_decode_xutf8(), duk_json_enc_ctx::flag_ascii_only, left, NULL, and duk_json_enc_ctx::thr.
Referenced by duk__enc_key_autoquote(), and duk__enc_value().
DUK_LOCAL_DECL duk_bool_t duk__enc_value | ( | duk_json_enc_ctx * | js_ctx, |
duk_idx_t | idx_holder ) |
Definition at line 1931 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References DUK__EMIT_STRIDX, duk__enc_array(), duk__enc_buffer(), duk__enc_bufferobject(), duk__enc_double(), duk__enc_object(), duk__enc_pointer(), duk__enc_quote_string(), DUK_ASSERT, DUK_ASSERT_HBUFFEROBJECT_VALID, duk_call_method(), duk_check_type_mask(), DUK_DDD, DUK_DDDPRINT, duk_dup(), duk_get_hobject_or_lfunc_coerce(), duk_get_prop_stridx(), duk_get_tval(), DUK_GET_TVAL_NEGIDX, DUK_GET_TVAL_POSIDX, DUK_HOBJECT_CLASS_ARRAY, DUK_HOBJECT_CLASS_BOOLEAN, DUK_HOBJECT_CLASS_NUMBER, DUK_HOBJECT_CLASS_POINTER, DUK_HOBJECT_CLASS_STRING, DUK_HOBJECT_GET_CLASS_NUMBER, duk_hobject_getprop(), DUK_HOBJECT_IS_BUFFEROBJECT, DUK_HOBJECT_IS_CALLABLE, duk_is_callable, DUK_JSON_FLAG_EXT_COMPATIBLE, DUK_JSON_FLAG_EXT_CUSTOM, duk_pop(), duk_pop_2(), duk_push_hobject(), duk_remove(), DUK_STRIDX_FALSE, DUK_STRIDX_INT_VALUE, DUK_STRIDX_LC_NULL, DUK_STRIDX_TO_JSON, DUK_STRIDX_TRUE, DUK_TAG_BOOLEAN, DUK_TAG_BUFFER, DUK_TAG_LIGHTFUNC, DUK_TAG_NULL, DUK_TAG_OBJECT, DUK_TAG_POINTER, DUK_TAG_STRING, DUK_TAG_UNDEFINED, duk_to_number(), duk_to_string(), DUK_TVAL_GET_BOOLEAN, DUK_TVAL_GET_BUFFER, DUK_TVAL_GET_OBJECT, DUK_TVAL_GET_POINTER, DUK_TVAL_GET_STRING, DUK_TVAL_GET_TAG, DUK_TVAL_IS_NUMBER, DUK_TVAL_IS_OBJECT, DUK_TVAL_IS_STRING, DUK_TVAL_IS_UNUSED, DUK_TYPE_MASK_BUFFER, DUK_UNREACHABLE, DUK_UNREF, duk_json_enc_ctx::flag_ext_compatible, duk_json_enc_ctx::flag_ext_custom, duk_json_enc_ctx::flags, duk_json_enc_ctx::h_replacer, duk_json_enc_ctx::mask_for_undefined, NULL, duk_json_enc_ctx::stridx_custom_function, duk_json_enc_ctx::stridx_custom_undefined, and duk_json_enc_ctx::thr.
Referenced by duk__enc_array(), duk__enc_object(), and duk_bi_json_stringify_helper().
DUK_LOCAL_DECL void duk__unemit_1 | ( | duk_json_enc_ctx * | js_ctx | ) |
Definition at line 1082 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, DUK_ASSERT, DUK_BW_ADD_PTR, DUK_BW_GET_SIZE, and duk_json_enc_ctx::thr.
DUK_INTERNAL duk_ret_t duk_bi_json_object_parse | ( | duk_context * | ctx | ) |
Definition at line 3122 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_bi_json_parse_helper().
DUK_INTERNAL duk_ret_t duk_bi_json_object_stringify | ( | duk_context * | ctx | ) |
Definition at line 3130 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_bi_json_stringify_helper().
DUK_INTERNAL void duk_bi_json_parse_helper | ( | duk_context * | ctx, |
duk_idx_t | idx_value, | ||
duk_idx_t | idx_reviver, | ||
duk_small_uint_t | flags ) |
Definition at line 2682 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk__dec_reviver_walk(), duk__dec_syntax_error(), duk__dec_value(), DUK_ASSERT, DUK_DDD, DUK_DDDPRINT, duk_dup(), duk_get_top(), duk_get_tval(), DUK_HSTRING_GET_BYTELEN, DUK_HSTRING_GET_DATA, DUK_INVALID_INDEX, duk_is_callable, DUK_JSON_FLAG_EXT_COMPATIBLE, DUK_JSON_FLAG_EXT_CUSTOM, DUK_MEMZERO, duk_push_hstring_stridx(), duk_push_object(), duk_put_prop_stridx(), duk_remove(), DUK_STRIDX_EMPTY_STRING, duk_to_hstring(), DUK_USE_JSON_DEC_RECLIMIT, duk_json_dec_ctx::flag_ext_compatible, duk_json_dec_ctx::flag_ext_custom, duk_json_dec_ctx::flag_ext_custom_or_compatible, duk_json_dec_ctx::flags, duk_json_dec_ctx::idx_reviver, NULL, duk_json_dec_ctx::p, duk_json_dec_ctx::p_end, duk_json_dec_ctx::p_start, duk_json_dec_ctx::recursion_depth, duk_json_dec_ctx::recursion_limit, and duk_json_dec_ctx::thr.
Referenced by duk_bi_json_object_parse().
DUK_INTERNAL void duk_bi_json_stringify_helper | ( | duk_context * | ctx, |
duk_idx_t | idx_value, | ||
duk_idx_t | idx_replacer, | ||
duk_idx_t | idx_space, | ||
duk_small_uint_t | flags ) |
Definition at line 2785 of file duktape-1.5.2/src-separate/duk_bi_json.c.
References duk_json_enc_ctx::bw, duk__enc_allow_into_proplist(), duk__enc_value(), DUK__JSON_STRINGIFY_BUFSIZE, DUK_ASC_SPACE, DUK_ASSERT, DUK_BW_INIT_PUSHBUF, DUK_BW_PUSH_AS_STRING, DUK_BW_RESET_SIZE, DUK_D, DUK_DD, DUK_DDD, DUK_DDDPRINT, DUK_DDPRINT, DUK_DPRINT, duk_dup(), duk_enum(), DUK_ENUM_ARRAY_INDICES_ONLY, DUK_ENUM_SORT_ARRAY_INDICES, DUK_EXEC_SUCCESS, duk_get_hobject(), duk_get_hstring(), duk_get_top(), duk_get_tval(), DUK_HOBJECT_CLASS_ARRAY, DUK_HOBJECT_CLASS_NUMBER, DUK_HOBJECT_CLASS_STRING, DUK_HOBJECT_GET_CLASS_NUMBER, DUK_HOBJECT_IS_CALLABLE, DUK_HSTRING_GET_CHARLEN, DUK_INVALID_INDEX, duk_is_number(), duk_is_string(), DUK_JSON_ENC_LOOPARRAY, DUK_JSON_FLAG_ASCII_ONLY, DUK_JSON_FLAG_AVOID_KEY_QUOTES, DUK_JSON_FLAG_EXT_COMPATIBLE, DUK_JSON_FLAG_EXT_CUSTOM, DUK_MEMZERO, DUK_MS_FLAG_NO_FINALIZERS, DUK_MS_FLAG_NO_OBJECT_COMPACTION, duk_next(), duk_pop(), duk_pop_2(), duk_push_array(), duk_push_hstring_stridx(), duk_push_lstring(), duk_push_object(), duk_push_object_internal(), duk_push_pointer(), duk_push_undefined(), duk_put_prop_index(), duk_put_prop_stridx(), duk_replace(), duk_safe_call(), duk_set_top(), DUK_STRIDX_EMPTY_STRING, DUK_STRIDX_INFINITY, DUK_STRIDX_JSON_EXT_FUNCTION1, DUK_STRIDX_JSON_EXT_FUNCTION2, DUK_STRIDX_JSON_EXT_NAN, DUK_STRIDX_JSON_EXT_NEGINF, DUK_STRIDX_JSON_EXT_POSINF, DUK_STRIDX_JSON_EXT_UNDEFINED, DUK_STRIDX_LC_NULL, DUK_STRIDX_LC_UNDEFINED, DUK_STRIDX_MINUS_INFINITY, DUK_STRIDX_NAN, duk_substring(), duk_to_int_clamped(), duk_to_number(), duk_to_string(), DUK_TYPE_MASK_BUFFER, DUK_TYPE_MASK_LIGHTFUNC, DUK_TYPE_MASK_POINTER, DUK_TYPE_MASK_UNDEFINED, DUK_UNLIKELY, DUK_USE_JSON_ENC_RECLIMIT, duk_json_enc_ctx::flag_ascii_only, duk_json_enc_ctx::flag_avoid_key_quotes, duk_json_enc_ctx::flag_ext_compatible, duk_json_enc_ctx::flag_ext_custom, duk_json_enc_ctx::flag_ext_custom_or_compatible, duk_json_enc_ctx::flags, duk_json_enc_ctx::h_gap, duk_json_enc_ctx::h_replacer, duk_hthread::heap, duk_json_enc_ctx::idx_loop, duk_json_enc_ctx::idx_proplist, duk_heap::mark_and_sweep_base_flags, duk_json_enc_ctx::mask_for_undefined, NULL, duk_json_enc_ctx::recursion_depth, duk_json_enc_ctx::recursion_limit, duk_json_enc_ctx::stridx_custom_function, duk_json_enc_ctx::stridx_custom_nan, duk_json_enc_ctx::stridx_custom_neginf, duk_json_enc_ctx::stridx_custom_posinf, duk_json_enc_ctx::stridx_custom_undefined, and duk_json_enc_ctx::thr.
Referenced by duk_bi_json_object_stringify().
DUK_LOCAL const duk_uint8_t duk__json_decnumber_lookup[256] |
Definition at line 165 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__dec_number().
DUK_LOCAL const duk_uint8_t duk__json_decstr_lookup[256] |
Definition at line 117 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__dec_string().
DUK_LOCAL const duk_uint8_t duk__json_eatwhite_lookup[256] |
Definition at line 141 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__dec_eat_white().
DUK_LOCAL const duk_uint8_t duk__json_quotestr_lookup[256] |
Definition at line 83 of file duktape-1.5.2/src-separate/duk_bi_json.c.
Referenced by duk__enc_quote_string().