JS_ReportError(cx, "can't alias %ld to %s in class %s", (long)alias, name, OBJ_GET_CLASS(cx, obj2)->name);
sprintf(numBuf, "%ld", (long)alias); JS_ReportErrorNumber(cx, NULL, JSMSG_CANT_ALIAS, numBuf, name, OBJ_GET_CLASS(cx, obj2)->name);
JS_AliasElement(JSContext *cx, JSObject *obj, const char *name, jsint alias){    JSObject *obj2;    JSProperty *prop;    JSScope *scope;    JSBool ok;    CHECK_REQUEST(cx);    /* XXXbe push this into jsobj.c or jsscope.c */    if (!LookupProperty(cx, obj, name, &obj2, &prop))	return JS_FALSE;    if (!prop) {	js_ReportIsNotDefined(cx, name);	return JS_FALSE;    }    if (obj2 != obj || !OBJ_IS_NATIVE(obj2)) {	OBJ_DROP_PROPERTY(cx, obj2, prop);	JS_ReportError(cx, "can't alias %ld to %s in class %s",		       (long)alias, name, OBJ_GET_CLASS(cx, obj2)->name);	return JS_FALSE;    }    scope = (JSScope *) obj->map;    ok = (scope->ops->add(cx, scope, INT_TO_JSVAL(alias),			  (JSScopeProperty *)prop)	  != NULL);    OBJ_DROP_PROPERTY(cx, obj, prop);    return ok;}