From 15d85096a2818b60e89a0b024c4e371fe8b0593b Mon Sep 17 00:00:00 2001 From: John Alanbrook Date: Wed, 18 Jun 2025 14:03:12 -0500 Subject: [PATCH] remove global symbols --- source/quickjs.c | 42 +----------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/source/quickjs.c b/source/quickjs.c index 8e60960d..19ceaadf 100644 --- a/source/quickjs.c +++ b/source/quickjs.c @@ -369,7 +369,6 @@ typedef union JSFloat64Union { enum { JS_ATOM_TYPE_STRING = 1, - JS_ATOM_TYPE_GLOBAL_SYMBOL, JS_ATOM_TYPE_SYMBOL, }; @@ -1513,11 +1512,6 @@ void JS_FreeRuntime(JSRuntime *rt) case JS_ATOM_TYPE_STRING: JS_DumpString(rt, p); break; - case JS_ATOM_TYPE_GLOBAL_SYMBOL: - printf("Symbol.for("); - JS_DumpString(rt, p); - printf(")"); - break; case JS_ATOM_TYPE_SYMBOL: printf("Symbol("); JS_DumpString(rt, p); @@ -2085,8 +2079,6 @@ static JSAtomKindEnum JS_AtomGetKind(JSContext *ctx, JSAtom v) switch(p->atom_type) { case JS_ATOM_TYPE_STRING: return JS_ATOM_KIND_STRING; - case JS_ATOM_TYPE_GLOBAL_SYMBOL: - return JS_ATOM_KIND_SYMBOL; case JS_ATOM_TYPE_SYMBOL: return JS_ATOM_KIND_SYMBOL; default: @@ -2665,8 +2657,7 @@ static BOOL JS_AtomSymbolHasDescription(JSContext *ctx, JSAtom v) if (__JS_AtomIsTaggedInt(v)) return FALSE; p = rt->atom_array[v]; - return ((p->atom_type == JS_ATOM_TYPE_SYMBOL || - p->atom_type == JS_ATOM_TYPE_GLOBAL_SYMBOL) && + return (p->atom_type == JS_ATOM_TYPE_SYMBOL && !(p->len == 0 && p->is_wide_char != 0)); } @@ -37174,35 +37165,6 @@ static const JSCFunctionListEntry js_symbol_proto_funcs[] = { JS_CGETSET_DEF("description", js_symbol_get_description, NULL ), }; -static JSValue js_symbol_for(JSContext *ctx, JSValueConst this_val, - int argc, JSValueConst *argv) -{ - JSValue str; - - str = JS_ToString(ctx, argv[0]); - if (JS_IsException(str)) - return JS_EXCEPTION; - return JS_NewSymbol(ctx, JS_VALUE_GET_STRING(str), JS_ATOM_TYPE_GLOBAL_SYMBOL); -} - -static JSValue js_symbol_keyFor(JSContext *ctx, JSValueConst this_val, - int argc, JSValueConst *argv) -{ - JSAtomStruct *p; - - if (!JS_IsSymbol(argv[0])) - return JS_ThrowTypeError(ctx, "not a symbol"); - p = JS_VALUE_GET_PTR(argv[0]); - if (p->atom_type != JS_ATOM_TYPE_GLOBAL_SYMBOL) - return JS_NULL; - return JS_DupValue(ctx, JS_MKPTR(JS_TAG_STRING, p)); -} - -static const JSCFunctionListEntry js_symbol_funcs[] = { - JS_CFUNC_DEF("for", 1, js_symbol_for ), - JS_CFUNC_DEF("keyFor", 1, js_symbol_keyFor ), -}; - /* Set/Map/WeakSet/WeakMap */ #define MAGIC_SET (1 << 0) @@ -38564,8 +38526,6 @@ void JS_AddIntrinsicBaseObjects(JSContext *ctx) countof(js_symbol_proto_funcs)); obj = JS_NewGlobalCConstructor(ctx, "Symbol", js_symbol_constructor, 0, ctx->class_proto[JS_CLASS_SYMBOL]); - JS_SetPropertyFunctionList(ctx, obj, js_symbol_funcs, - countof(js_symbol_funcs)); for(i = JS_ATOM_Symbol_toPrimitive; i < JS_ATOM_END; i++) { char buf[ATOM_GET_STR_BUF_SIZE]; const char *str, *p;