зеркало из https://github.com/mozilla/gecko-dev.git
Bug 836949 - Remove obj parameter from ValueToId. r=njn
This commit is contained in:
Родитель
ca281e5ea7
Коммит
de620701c5
|
@ -63,8 +63,7 @@ ToAtom(JSContext *cx, const js::Value &v)
|
||||||
|
|
||||||
template <AllowGC allowGC>
|
template <AllowGC allowGC>
|
||||||
inline bool
|
inline bool
|
||||||
ValueToId(JSContext* cx, JSObject *obj, const Value &v,
|
ValueToId(JSContext* cx, const Value &v, typename MaybeRooted<jsid, allowGC>::MutableHandleType idp)
|
||||||
typename MaybeRooted<jsid, allowGC>::MutableHandleType idp)
|
|
||||||
{
|
{
|
||||||
int32_t i;
|
int32_t i;
|
||||||
if (ValueFitsInInt32(v, &i) && INT_FITS_IN_JSID(i)) {
|
if (ValueFitsInInt32(v, &i) && INT_FITS_IN_JSID(i)) {
|
||||||
|
@ -80,14 +79,6 @@ ValueToId(JSContext* cx, JSObject *obj, const Value &v,
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <AllowGC allowGC>
|
|
||||||
inline bool
|
|
||||||
ValueToId(JSContext* cx, const Value &v,
|
|
||||||
typename MaybeRooted<jsid, allowGC>::MutableHandleType idp)
|
|
||||||
{
|
|
||||||
return ValueToId<allowGC>(cx, NULL, v, idp);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Write out character representing |index| to the memory just before |end|.
|
* Write out character representing |index| to the memory just before |end|.
|
||||||
* Thus |*end| is not touched, but |end[-1]| and earlier are modified as
|
* Thus |*end| is not touched, but |end[-1]| and earlier are modified as
|
||||||
|
|
|
@ -1648,10 +1648,10 @@ BEGIN_CASE(JSOP_AND)
|
||||||
}
|
}
|
||||||
END_CASE(JSOP_AND)
|
END_CASE(JSOP_AND)
|
||||||
|
|
||||||
#define FETCH_ELEMENT_ID(obj, n, id) \
|
#define FETCH_ELEMENT_ID(n, id) \
|
||||||
JS_BEGIN_MACRO \
|
JS_BEGIN_MACRO \
|
||||||
const Value &idval_ = regs.sp[n]; \
|
const Value &idval_ = regs.sp[n]; \
|
||||||
if (!ValueToId<CanGC>(cx, obj, idval_, &id)) \
|
if (!ValueToId<CanGC>(cx, idval_, &id)) \
|
||||||
goto error; \
|
goto error; \
|
||||||
JS_END_MACRO
|
JS_END_MACRO
|
||||||
|
|
||||||
|
@ -1681,7 +1681,7 @@ BEGIN_CASE(JSOP_IN)
|
||||||
RootedObject &obj = rootObject0;
|
RootedObject &obj = rootObject0;
|
||||||
obj = &rref.toObject();
|
obj = &rref.toObject();
|
||||||
RootedId &id = rootId0;
|
RootedId &id = rootId0;
|
||||||
FETCH_ELEMENT_ID(obj, -2, id);
|
FETCH_ELEMENT_ID(-2, id);
|
||||||
RootedObject &obj2 = rootObject1;
|
RootedObject &obj2 = rootObject1;
|
||||||
RootedShape &prop = rootShape0;
|
RootedShape &prop = rootShape0;
|
||||||
if (!JSObject::lookupGeneric(cx, obj, id, &obj2, &prop))
|
if (!JSObject::lookupGeneric(cx, obj, id, &obj2, &prop))
|
||||||
|
@ -1804,7 +1804,7 @@ BEGIN_CASE(JSOP_ENUMCONSTELEM)
|
||||||
RootedObject &obj = rootObject0;
|
RootedObject &obj = rootObject0;
|
||||||
FETCH_OBJECT(cx, -2, obj);
|
FETCH_OBJECT(cx, -2, obj);
|
||||||
RootedId &id = rootId0;
|
RootedId &id = rootId0;
|
||||||
FETCH_ELEMENT_ID(obj, -1, id);
|
FETCH_ELEMENT_ID(-1, id);
|
||||||
if (!JSObject::defineGeneric(cx, obj, id, rval,
|
if (!JSObject::defineGeneric(cx, obj, id, rval,
|
||||||
JS_PropertyStub, JS_StrictPropertyStub,
|
JS_PropertyStub, JS_StrictPropertyStub,
|
||||||
JSPROP_ENUMERATE | JSPROP_PERMANENT | JSPROP_READONLY)) {
|
JSPROP_ENUMERATE | JSPROP_PERMANENT | JSPROP_READONLY)) {
|
||||||
|
@ -2308,7 +2308,7 @@ BEGIN_CASE(JSOP_SETELEM)
|
||||||
RootedObject &obj = rootObject0;
|
RootedObject &obj = rootObject0;
|
||||||
FETCH_OBJECT(cx, -3, obj);
|
FETCH_OBJECT(cx, -3, obj);
|
||||||
RootedId &id = rootId0;
|
RootedId &id = rootId0;
|
||||||
FETCH_ELEMENT_ID(obj, -2, id);
|
FETCH_ELEMENT_ID(-2, id);
|
||||||
Value &value = regs.sp[-1];
|
Value &value = regs.sp[-1];
|
||||||
if (!SetObjectElementOperation(cx, obj, id, value, script->strict))
|
if (!SetObjectElementOperation(cx, obj, id, value, script->strict))
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -2325,7 +2325,7 @@ BEGIN_CASE(JSOP_ENUMELEM)
|
||||||
/* Funky: the value to set is under the [obj, id] pair. */
|
/* Funky: the value to set is under the [obj, id] pair. */
|
||||||
FETCH_OBJECT(cx, -2, obj);
|
FETCH_OBJECT(cx, -2, obj);
|
||||||
RootedId &id = rootId0;
|
RootedId &id = rootId0;
|
||||||
FETCH_ELEMENT_ID(obj, -1, id);
|
FETCH_ELEMENT_ID(-1, id);
|
||||||
rval = regs.sp[-3];
|
rval = regs.sp[-3];
|
||||||
if (!JSObject::setGeneric(cx, obj, obj, id, &rval, script->strict))
|
if (!JSObject::setGeneric(cx, obj, obj, id, &rval, script->strict))
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -2851,7 +2851,7 @@ BEGIN_CASE(JSOP_SETTER)
|
||||||
|
|
||||||
/* Ensure that id has a type suitable for use with obj. */
|
/* Ensure that id has a type suitable for use with obj. */
|
||||||
if (JSID_IS_VOID(id))
|
if (JSID_IS_VOID(id))
|
||||||
FETCH_ELEMENT_ID(obj, i, id);
|
FETCH_ELEMENT_ID(i, id);
|
||||||
|
|
||||||
if (!js_IsCallable(rval)) {
|
if (!js_IsCallable(rval)) {
|
||||||
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_BAD_GETTER_OR_SETTER,
|
JS_ReportErrorNumber(cx, js_GetErrorMessage, NULL, JSMSG_BAD_GETTER_OR_SETTER,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче