Fix for warning about missed __iterator__. bug=355145 r=brendan

This commit is contained in:
igor.bukanov%gmail.com 2006-10-03 22:47:23 +00:00
Родитель bf57a0d2e5
Коммит 352cf4403b
2 изменённых файлов: 7 добавлений и 11 удалений

Просмотреть файл

@ -2919,19 +2919,8 @@ JS_PUBLIC_API(JSBool)
JS_GetMethodById(JSContext *cx, JSObject *obj, jsid id, JSObject **objp,
jsval *vp)
{
JSObject *obj2;
JSProperty *prop;
CHECK_REQUEST(cx);
if (!OBJ_LOOKUP_PROPERTY(cx, obj, id, &obj2, &prop))
return JS_FALSE;
if (!prop) {
*vp = JSVAL_VOID;
return JS_TRUE;
}
OBJ_DROP_PROPERTY(cx, obj2, prop);
#if JS_HAS_XML_SUPPORT
if (OBJECT_IS_XML(cx, obj)) {
JSXMLObjectOps *ops;

Просмотреть файл

@ -3392,6 +3392,13 @@ js_GetProperty(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
return JS_TRUE;
}
/*
* XXX do not warn about missing __iterator__ as the function
* may be called from JS_GetMethodById. See bug 355145.
*/
if (id == ATOM_TO_JSID(cx->runtime->atomState.iteratorAtom))
return JS_TRUE;
/* Kludge to allow (typeof foo == "undefined") tests. */
JS_ASSERT(cx->fp->script);
pc += js_CodeSpec[op].length;