Call "join" property instead of hardcoding Ap_join in Ap_toString.

This commit is contained in:
Tor Andersson
2021-04-23 11:12:36 +02:00
parent e38bff1f68
commit dbb86fcd8b

View File

@@ -423,9 +423,18 @@ static void Ap_unshift(js_State *J)
static void Ap_toString(js_State *J)
{
int top = js_gettop(J);
js_pop(J, top - 1);
Ap_join(J);
if (!js_iscoercible(J, 0))
js_typeerror(J, "'this' is not an object");
js_getproperty(J, 0, "join");
if (!js_iscallable(J, -1)) {
// TODO: call Object.prototype.toString implementation; not via Object.toString JS objects
js_getglobal(J, "Object");
js_getproperty(J, -1, "toString");
js_rot2pop1(J);
}
js_copy(J, 0);
js_call(J, 0);
js_pop(J, 1);
}
static void Ap_indexOf(js_State *J)