61#if defined(DUK_USE_ERRTHROW) || defined(DUK_USE_ERRCREATE)
102 if (tv_hnd ==
NULL) {
157#if defined(DUK_USE_TRACEBACKS)
288#if !defined(DUK_USE_TRACEBACKS)
291#if defined(DUK_USE_ASSERTIONS)
296#if defined(DUK_USE_ASSERTIONS)
314 }
else if (c_filename && !noblame_fileline) {
327 duk_uint32_t ecma_line;
370#if defined(DUK_USE_PC2LINE)
397#if defined(DUK_USE_ASSERTIONS)
447#if defined(DUK_USE_AUGMENT_ERROR_CREATE)
450#if defined(DUK_USE_ASSERTIONS)
454#if defined(DUK_USE_ASSERTIONS)
464#if defined(DUK_USE_TRACEBACKS)
470 DUK_DDD(
DUK_DDDPRINT(
"error value already has a '_Tracedata' property, not modifying it"));
478 duk__add_fileline(thr, thr_callstack, c_filename, c_line, noblame_fileline);
481#if defined(DUK_USE_ASSERTIONS)
504#if defined(DUK_USE_AUGMENT_ERROR_CREATE)
537 DUK_DDD(
DUK_DDDPRINT(
"value is not an error instance, skip both built-in and user augment"));
549#if defined(DUK_USE_ERRCREATE)
561#if defined(DUK_USE_AUGMENT_ERROR_THROW)
563#if defined(DUK_USE_ERRTHROW)
unsigned int duk_small_uint_t
#define DUK_USE_TRACEBACK_DEPTH
duk_int_fast32_t duk_int_t
duk_uint_fast32_t duk_uint_t
duk_small_int_t duk_bool_t
duk_uint32_t duk_uint_fast32_t
DUK_EXTERNAL void duk_concat(duk_context *ctx, duk_idx_t count)
DUK_EXTERNAL void duk_pop_2(duk_context *ctx)
DUK_EXTERNAL const char * duk_push_string(duk_context *ctx, const char *str)
#define DUK_HTHREAD_STRING_INT_TRACEDATA(thr)
DUK_INTERNAL_DECL duk_bool_t duk_put_prop_stridx(duk_context *ctx, duk_idx_t obj_index, duk_small_int_t stridx)
DUK_INTERNAL_DECL duk_bool_t duk_get_prop_stridx(duk_context *ctx, duk_idx_t obj_index, duk_small_int_t stridx)
#define DUK_HEAP_HAS_ERRHANDLER_RUNNING(heap)
#define DUK_HEAP_NUM_STRINGS
#define duk_xdef_prop_stridx_wec(ctx, obj_index, stridx)
#define DUK_STRIDX_LINE_NUMBER
#define DUK_STRIDX_ERR_CREATE
#define duk_xdef_prop_index_wec(ctx, obj_index, arr_index)
#define DUK_STRIDX_MESSAGE
#define DUK_STRIDX_FILE_NAME
#define DUK_HOBJECT_IS_COMPILEDFUNCTION(h)
#define DUK_TB_FLAG_NOBLAME_FILELINE
#define DUK_ASSERT_DISABLE(x)
DUK_EXTERNAL void duk_push_int(duk_context *ctx, duk_int_t val)
#define DUK_STRIDX_ERR_THROW
DUK_INTERNAL_DECL duk_tval * duk_hobject_find_existing_entry_tval_ptr(duk_heap *heap, duk_hobject *obj, duk_hstring *key)
DUK_EXTERNAL void duk_replace(duk_context *ctx, duk_idx_t to_index)
#define DUK_BIDX_ERROR_PROTOTYPE
DUK_INTERNAL_DECL duk_uint_fast32_t duk_hobject_pc2line_query(duk_context *ctx, duk_idx_t idx_func, duk_uint_fast32_t pc)
#define DUK_PROPDESC_FLAG_NO_OVERWRITE
DUK_EXTERNAL duk_bool_t duk_is_object(duk_context *ctx, duk_idx_t index)
#define DUK_ASSERT_VALSTACK_SPACE(thr, n)
#define DUK_STRIDX_LENGTH
DUK_EXTERNAL void duk_insert(duk_context *ctx, duk_idx_t to_index)
#define DUK_HEAP_SET_ERRHANDLER_RUNNING(heap)
DUK_INTERNAL_DECL duk_bool_t duk_hobject_hasprop_raw(duk_hthread *thr, duk_hobject *obj, duk_hstring *key)
DUK_EXTERNAL duk_idx_t duk_get_top(duk_context *ctx)
DUK_INTERNAL_DECL void duk_push_tval(duk_context *ctx, duk_tval *tv)
DUK_EXTERNAL void duk_push_uint(duk_context *ctx, duk_uint_t val)
DUK_EXTERNAL void duk_push_undefined(duk_context *ctx)
DUK_INTERNAL_DECL duk_bool_t duk_hobject_prototype_chain_contains(duk_hthread *thr, duk_hobject *h, duk_hobject *p, duk_bool_t ignore_loop)
#define DUK_STRIDX_INT_TRACEDATA
DUK_INTERNAL_DECL duk_uint_fast32_t duk_hthread_get_act_prev_pc(duk_hthread *thr, duk_activation *act)
#define DUK_PROPDESC_FLAGS_WC
#define DUK_HTHREAD_GET_STRING(thr, idx)
DUK_EXTERNAL const char * duk_push_sprintf(duk_context *ctx, const char *fmt,...)
DUK_EXTERNAL void duk_push_number(duk_context *ctx, duk_double_t val)
#define DUK_HEAP_CLEAR_ERRHANDLER_RUNNING(heap)
DUK_INTERNAL_DECL duk_int_t duk_handle_call_protected(duk_hthread *thr, duk_idx_t num_stack_args, duk_small_uint_t call_flags)
#define DUK_ACT_GET_FUNC(act)
DUK_EXTERNAL void duk_pop(duk_context *ctx)
DUK_INTERNAL_DECL duk_hobject * duk_get_hobject(duk_context *ctx, duk_idx_t index)
DUK_INTERNAL_DECL void duk_push_hobject(duk_context *ctx, duk_hobject *h)
DUK_EXTERNAL duk_idx_t duk_push_array(duk_context *ctx)
DUK_INTERNAL_DECL void duk_xdef_prop_stridx(duk_context *ctx, duk_idx_t obj_index, duk_small_int_t stridx, duk_small_uint_t desc_flags)
DUK_INTERNAL_DECL void duk_push_hstring(duk_context *ctx, duk_hstring *h)
DUK_EXTERNAL duk_bool_t duk_is_string(duk_context *ctx, duk_idx_t index)
#define DUK_HOBJECT_HAS_EXTENSIBLE(h)
#define duk_push_u32(ctx, val)
DUK_INTERNAL_DECL duk_tval * duk_get_tval(duk_context *ctx, duk_idx_t index)
#define DUK_CALL_FLAG_IGNORE_RECLIMIT
DUK_INTERNAL void duk_err_augment_error_throw(duk_hthread *thr)
DUK_LOCAL void duk__add_compiler_error_line(duk_hthread *thr)
DUK_INTERNAL void duk_err_augment_error_create(duk_hthread *thr, duk_hthread *thr_callstack, const char *c_filename, duk_int_t c_line, duk_bool_t noblame_fileline)
DUK_LOCAL void duk__err_augment_builtin_create(duk_hthread *thr, duk_hthread *thr_callstack, const char *c_filename, duk_int_t c_line, duk_small_int_t noblame_fileline, duk_hobject *obj)
DUK_LOCAL void duk__err_augment_user(duk_hthread *thr, duk_small_uint_t stridx_cb)
DUK_LOCAL void duk__add_traceback(duk_hthread *thr, duk_hthread *thr_callstack, const char *c_filename, duk_int_t c_line, duk_bool_t noblame_fileline)
duk_hobject * builtins[DUK_NUM_BUILTINS]
duk_compiler_ctx * compile_ctx
duk_size_t callstack_size
duk_activation * callstack