mirror of
https://github.com/bellard/quickjs.git
synced 2025-11-15 10:12:14 +03:00
fixed regression in error message display introduced in commit 42eb279
This commit is contained in:
@@ -256,6 +256,7 @@ DEF(SyntaxError, "SyntaxError")
|
||||
DEF(TypeError, "TypeError")
|
||||
DEF(URIError, "URIError")
|
||||
DEF(InternalError, "InternalError")
|
||||
DEF(AggregateError, "AggregateError")
|
||||
/* private symbols */
|
||||
DEF(Private_brand, "<brand>")
|
||||
/* symbols */
|
||||
|
||||
53
quickjs.c
53
quickjs.c
@@ -38475,7 +38475,7 @@ static int JS_InstantiateFunctionListItem(JSContext *ctx, JSValueConst obj,
|
||||
case JS_DEF_PROP_UNDEFINED:
|
||||
val = JS_UNDEFINED;
|
||||
break;
|
||||
case JS_DEF_PROP_SYMBOL:
|
||||
case JS_DEF_PROP_ATOM:
|
||||
val = JS_AtomToValue(ctx, e->u.i32);
|
||||
break;
|
||||
case JS_DEF_PROP_BOOL:
|
||||
@@ -40328,19 +40328,21 @@ static const JSCFunctionListEntry js_error_proto_funcs[] = {
|
||||
};
|
||||
|
||||
/* 2 entries for each native error class */
|
||||
/* Note: we use an atom to avoid the autoinit definition which does
|
||||
not work in get_prop_string() */
|
||||
static const JSCFunctionListEntry js_native_error_proto_funcs[] = {
|
||||
#define DEF(name) \
|
||||
JS_PROP_STRING_DEF("name", name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE ),\
|
||||
JS_PROP_ATOM_DEF("name", name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE ),\
|
||||
JS_PROP_STRING_DEF("message", "", JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE ),
|
||||
|
||||
DEF("EvalError")
|
||||
DEF("RangeError")
|
||||
DEF("ReferenceError")
|
||||
DEF("SyntaxError")
|
||||
DEF("TypeError")
|
||||
DEF("URIError")
|
||||
DEF("InternalError")
|
||||
DEF("AggregateError")
|
||||
DEF(JS_ATOM_EvalError)
|
||||
DEF(JS_ATOM_RangeError)
|
||||
DEF(JS_ATOM_ReferenceError)
|
||||
DEF(JS_ATOM_SyntaxError)
|
||||
DEF(JS_ATOM_TypeError)
|
||||
DEF(JS_ATOM_URIError)
|
||||
DEF(JS_ATOM_InternalError)
|
||||
DEF(JS_ATOM_AggregateError)
|
||||
#undef DEF
|
||||
};
|
||||
|
||||
@@ -49700,19 +49702,19 @@ static JSValue js_symbol_keyFor(JSContext *ctx, JSValueConst this_val,
|
||||
static const JSCFunctionListEntry js_symbol_funcs[] = {
|
||||
JS_CFUNC_DEF("for", 1, js_symbol_for ),
|
||||
JS_CFUNC_DEF("keyFor", 1, js_symbol_keyFor ),
|
||||
JS_PROP_SYMBOL_DEF("toPrimitive", JS_ATOM_Symbol_toPrimitive, 0),
|
||||
JS_PROP_SYMBOL_DEF("iterator", JS_ATOM_Symbol_iterator, 0),
|
||||
JS_PROP_SYMBOL_DEF("match", JS_ATOM_Symbol_match, 0),
|
||||
JS_PROP_SYMBOL_DEF("matchAll", JS_ATOM_Symbol_matchAll, 0),
|
||||
JS_PROP_SYMBOL_DEF("replace", JS_ATOM_Symbol_replace, 0),
|
||||
JS_PROP_SYMBOL_DEF("search", JS_ATOM_Symbol_search, 0),
|
||||
JS_PROP_SYMBOL_DEF("split", JS_ATOM_Symbol_split, 0),
|
||||
JS_PROP_SYMBOL_DEF("toStringTag", JS_ATOM_Symbol_toStringTag, 0),
|
||||
JS_PROP_SYMBOL_DEF("isConcatSpreadable", JS_ATOM_Symbol_isConcatSpreadable, 0),
|
||||
JS_PROP_SYMBOL_DEF("hasInstance", JS_ATOM_Symbol_hasInstance, 0),
|
||||
JS_PROP_SYMBOL_DEF("species", JS_ATOM_Symbol_species, 0),
|
||||
JS_PROP_SYMBOL_DEF("unscopables", JS_ATOM_Symbol_unscopables, 0),
|
||||
JS_PROP_SYMBOL_DEF("asyncIterator", JS_ATOM_Symbol_asyncIterator, 0),
|
||||
JS_PROP_ATOM_DEF("toPrimitive", JS_ATOM_Symbol_toPrimitive, 0),
|
||||
JS_PROP_ATOM_DEF("iterator", JS_ATOM_Symbol_iterator, 0),
|
||||
JS_PROP_ATOM_DEF("match", JS_ATOM_Symbol_match, 0),
|
||||
JS_PROP_ATOM_DEF("matchAll", JS_ATOM_Symbol_matchAll, 0),
|
||||
JS_PROP_ATOM_DEF("replace", JS_ATOM_Symbol_replace, 0),
|
||||
JS_PROP_ATOM_DEF("search", JS_ATOM_Symbol_search, 0),
|
||||
JS_PROP_ATOM_DEF("split", JS_ATOM_Symbol_split, 0),
|
||||
JS_PROP_ATOM_DEF("toStringTag", JS_ATOM_Symbol_toStringTag, 0),
|
||||
JS_PROP_ATOM_DEF("isConcatSpreadable", JS_ATOM_Symbol_isConcatSpreadable, 0),
|
||||
JS_PROP_ATOM_DEF("hasInstance", JS_ATOM_Symbol_hasInstance, 0),
|
||||
JS_PROP_ATOM_DEF("species", JS_ATOM_Symbol_species, 0),
|
||||
JS_PROP_ATOM_DEF("unscopables", JS_ATOM_Symbol_unscopables, 0),
|
||||
JS_PROP_ATOM_DEF("asyncIterator", JS_ATOM_Symbol_asyncIterator, 0),
|
||||
};
|
||||
|
||||
/* Set/Map/WeakSet/WeakMap */
|
||||
@@ -54447,9 +54449,12 @@ static int JS_AddIntrinsicBasicObjects(JSContext *ctx)
|
||||
JSValue func_obj;
|
||||
const JSCFunctionListEntry *funcs;
|
||||
int n_args;
|
||||
char buf[ATOM_GET_STR_BUF_SIZE];
|
||||
const char *name = JS_AtomGetStr(ctx, buf, sizeof(buf),
|
||||
JS_ATOM_EvalError + i);
|
||||
n_args = 1 + (i == JS_AGGREGATE_ERROR);
|
||||
funcs = js_native_error_proto_funcs + 2 * i;
|
||||
func_obj = JS_NewCConstructor(ctx, -1, funcs[0].u.str,
|
||||
func_obj = JS_NewCConstructor(ctx, -1, name,
|
||||
ft.generic, n_args, JS_CFUNC_constructor_or_func_magic, i,
|
||||
obj,
|
||||
NULL, 0,
|
||||
|
||||
@@ -1097,7 +1097,7 @@ typedef struct JSCFunctionListEntry {
|
||||
#define JS_DEF_PROP_UNDEFINED 7
|
||||
#define JS_DEF_OBJECT 8
|
||||
#define JS_DEF_ALIAS 9
|
||||
#define JS_DEF_PROP_SYMBOL 10
|
||||
#define JS_DEF_PROP_ATOM 10
|
||||
#define JS_DEF_PROP_BOOL 11
|
||||
|
||||
/* Note: c++ does not like nested designators */
|
||||
@@ -1112,7 +1112,7 @@ typedef struct JSCFunctionListEntry {
|
||||
#define JS_PROP_INT64_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_INT64, 0, .u = { .i64 = val } }
|
||||
#define JS_PROP_DOUBLE_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_DOUBLE, 0, .u = { .f64 = val } }
|
||||
#define JS_PROP_UNDEFINED_DEF(name, prop_flags) { name, prop_flags, JS_DEF_PROP_UNDEFINED, 0, .u = { .i32 = 0 } }
|
||||
#define JS_PROP_SYMBOL_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_SYMBOL, 0, .u = { .i32 = val } }
|
||||
#define JS_PROP_ATOM_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_ATOM, 0, .u = { .i32 = val } }
|
||||
#define JS_PROP_BOOL_DEF(name, val, prop_flags) { name, prop_flags, JS_DEF_PROP_BOOL, 0, .u = { .i32 = val } }
|
||||
#define JS_OBJECT_DEF(name, tab, len, prop_flags) { name, prop_flags, JS_DEF_OBJECT, 0, .u = { .prop_list = { tab, len } } }
|
||||
#define JS_ALIAS_DEF(name, from) { name, JS_PROP_WRITABLE | JS_PROP_CONFIGURABLE, JS_DEF_ALIAS, 0, .u = { .alias = { from, -1 } } }
|
||||
|
||||
Reference in New Issue
Block a user