remove global symbols
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user