bug 513190 - avoiding jsint tagging of the private slot data. r=jorendorff

This commit is contained in:
Igor Bukanov
2009-09-05 19:59:11 +04:00
parent ccf5eb127e
commit 812b45fb3e
23 changed files with 196 additions and 251 deletions

View File

@@ -1964,7 +1964,7 @@ ToXML(JSContext *cx, jsval v)
} else {
obj = JSVAL_TO_OBJECT(v);
if (OBJECT_IS_XML(cx, obj)) {
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (xml->xml_class == JSXML_CLASS_LIST) {
if (xml->xml_kids.length != 1)
goto bad;
@@ -2045,12 +2045,12 @@ ToXMLList(JSContext *cx, jsval v)
} else {
obj = JSVAL_TO_OBJECT(v);
if (OBJECT_IS_XML(cx, obj)) {
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (xml->xml_class != JSXML_CLASS_LIST) {
listobj = js_NewXMLObject(cx, JSXML_CLASS_LIST);
if (!listobj)
return NULL;
list = (JSXML *) listobj->getAssignedPrivate();
list = (JSXML *) listobj->getPrivate();
if (!Append(cx, list, xml))
return NULL;
return listobj;
@@ -2089,7 +2089,7 @@ ToXMLList(JSContext *cx, jsval v)
listobj = js_NewXMLObject(cx, JSXML_CLASS_LIST);
if (listobj) {
list = (JSXML *) listobj->getAssignedPrivate();
list = (JSXML *) listobj->getPrivate();
for (i = 0; i < length; i++) {
kid = OrphanXMLChild(cx, xml, i);
if (!kid || !Append(cx, list, kid)) {
@@ -2882,7 +2882,7 @@ ToXMLString(JSContext *cx, jsval v, uint32 toSourceFlag)
}
/* Handle non-element cases in this switch, returning from each case. */
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
return XMLToXMLString(cx, xml, NULL, toSourceFlag | 0);
}
@@ -3379,7 +3379,7 @@ Descendants(JSContext *cx, JSXML *xml, jsval id)
listobj = js_NewXMLObject(cx, JSXML_CLASS_LIST);
if (!listobj)
return NULL;
list = (JSXML *) listobj->getAssignedPrivate();
list = (JSXML *) listobj->getPrivate();
if (funid)
return list;
@@ -3525,7 +3525,7 @@ Equals(JSContext *cx, JSXML *xml, jsval v, JSBool *bp)
if (!OBJECT_IS_XML(cx, vobj)) {
*bp = JS_FALSE;
} else {
vxml = (JSXML *) vobj->getAssignedPrivate();
vxml = (JSXML *) vobj->getPrivate();
if (!XMLEquals(cx, xml, vxml, bp))
return JS_FALSE;
}
@@ -3566,7 +3566,7 @@ Insert(JSContext *cx, JSXML *xml, uint32 i, jsval v)
if (!JSVAL_IS_PRIMITIVE(v)) {
vobj = JSVAL_TO_OBJECT(v);
if (OBJECT_IS_XML(cx, vobj)) {
vxml = (JSXML *) vobj->getAssignedPrivate();
vxml = (JSXML *) vobj->getPrivate();
if (vxml->xml_class == JSXML_CLASS_LIST) {
n = vxml->xml_kids.length;
if (n == 0)
@@ -3660,7 +3660,7 @@ Replace(JSContext *cx, JSXML *xml, uint32 i, jsval v)
if (!JSVAL_IS_PRIMITIVE(v)) {
vobj = JSVAL_TO_OBJECT(v);
if (OBJECT_IS_XML(cx, vobj))
vxml = (JSXML *) vobj->getAssignedPrivate();
vxml = (JSXML *) vobj->getPrivate();
}
switch (vxml ? JSXMLClass(vxml->xml_class) : JSXML_CLASS_LIMIT) {
@@ -3902,7 +3902,7 @@ GetProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
roots[1] = OBJECT_TO_JSVAL(listobj);
tvr.count++;
list = (JSXML *) listobj->getAssignedPrivate();
list = (JSXML *) listobj->getPrivate();
if (!GetNamedProperty(cx, xml, nameqn, list)) {
listobj = NULL;
} else {
@@ -3988,7 +3988,7 @@ PutProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
if (!JSVAL_IS_PRIMITIVE(*vp)) {
vobj = JSVAL_TO_OBJECT(*vp);
if (OBJECT_IS_XML(cx, vobj))
vxml = (JSXML *) vobj->getAssignedPrivate();
vxml = (JSXML *) vobj->getPrivate();
}
ok = js_EnterLocalRootScope(cx);
@@ -4079,7 +4079,7 @@ PutProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
if (JSVAL_IS_PRIMITIVE(attrval)) /* no such attribute */
goto out;
attrobj = JSVAL_TO_OBJECT(attrval);
attr = (JSXML *) attrobj->getAssignedPrivate();
attr = (JSXML *) attrobj->getPrivate();
if (JSXML_LENGTH(attr) != 0)
goto out;
@@ -4185,7 +4185,7 @@ PutProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
ok = GetProperty(cx, parentobj, id, vp);
if (!ok)
goto out;
attr = (JSXML *) JSVAL_TO_OBJECT(*vp)->getAssignedPrivate();
attr = (JSXML *) JSVAL_TO_OBJECT(*vp)->getPrivate();
/* 2(e)(iii) - the length check comes from the bug 375406. */
if (attr->xml_kids.length != 0)
@@ -4278,7 +4278,7 @@ PutProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
if (!vobj)
goto bad;
roots[VAL_ROOT] = *vp = OBJECT_TO_JSVAL(vobj);
vxml = (JSXML *) vobj->getAssignedPrivate();
vxml = (JSXML *) vobj->getPrivate();
}
XMLARRAY_SET_MEMBER(&xml->xml_kids, i, vxml);
}
@@ -4541,7 +4541,7 @@ PutProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
vobj = js_NewXMLObject(cx, JSXML_CLASS_ELEMENT);
if (!vobj)
goto bad;
vxml = (JSXML *) vobj->getAssignedPrivate();
vxml = (JSXML *) vobj->getPrivate();
vxml->parent = xml;
vxml->name = nameqn;
@@ -4640,7 +4640,7 @@ ResolveValue(JSContext *cx, JSXML *list, JSXML **result)
id = OBJECT_TO_JSVAL(targetprop);
if (!GetProperty(cx, base->object, id, &tv))
return JS_FALSE;
target = (JSXML *) JSVAL_TO_OBJECT(tv)->getAssignedPrivate();
target = (JSXML *) JSVAL_TO_OBJECT(tv)->getPrivate();
if (JSXML_LENGTH(target) == 0) {
if (base->xml_class == JSXML_CLASS_LIST && JSXML_LENGTH(base) > 1) {
@@ -4652,7 +4652,7 @@ ResolveValue(JSContext *cx, JSXML *list, JSXML **result)
return JS_FALSE;
if (!GetProperty(cx, base->object, id, &tv))
return JS_FALSE;
target = (JSXML *) JSVAL_TO_OBJECT(tv)->getAssignedPrivate();
target = (JSXML *) JSVAL_TO_OBJECT(tv)->getPrivate();
}
*result = target;
@@ -4727,7 +4727,7 @@ HasFunctionProperty(JSContext *cx, JSObject *obj, jsid funid, JSBool *found)
if (prop) {
pobj->dropProperty(cx, prop);
} else {
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (HasSimpleContent(xml)) {
/*
* Search in String.prototype to set found whenever
@@ -4760,7 +4760,7 @@ HasProperty(JSContext *cx, JSObject *obj, jsval id, JSBool *found)
JSObject *qn;
jsid funid;
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (js_IdIsIndex(id, &i)) {
*found = HasIndexedProperty(xml, i);
} else {
@@ -4839,7 +4839,7 @@ xml_lookupProperty(JSContext *cx, JSObject *obj, jsid id, JSObject **objp,
JSScopeProperty *sprop;
v = ID_TO_VALUE(id);
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (js_IdIsIndex(v, &i)) {
found = HasIndexedProperty(xml, i);
} else {
@@ -4945,7 +4945,7 @@ xml_deleteProperty(JSContext *cx, JSObject *obj, jsid id, jsval *rval)
jsid funid;
idval = ID_TO_VALUE(id);
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (js_IdIsIndex(idval, &index)) {
if (xml->xml_class != JSXML_CLASS_LIST) {
/* See NOTE in spec: this variation is reserved for future use. */
@@ -4988,7 +4988,7 @@ xml_defaultValue(JSContext *cx, JSObject *obj, JSType hint, jsval *vp)
if (hint == JSTYPE_OBJECT) {
/* Called from for..in code in js_Interpret: return an XMLList. */
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (xml->xml_class != JSXML_CLASS_LIST) {
obj = ToXMLList(cx, OBJECT_TO_JSVAL(obj));
if (!obj)
@@ -5009,7 +5009,7 @@ xml_enumerate(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
uint32 length, index;
JSXMLArrayCursor *cursor;
xml = (JSXML *)obj->getAssignedPrivate();
xml = (JSXML *)obj->getPrivate();
length = JSXML_LENGTH(xml);
switch (enum_op) {
@@ -5137,7 +5137,7 @@ js_EnumerateXMLValues(JSContext *cx, JSObject *obj, JSIterateOp enum_op,
JSObject *kidobj;
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
length = JSXML_LENGTH(xml);
JS_ASSERT(INT_FITS_IN_JSVAL(length));
@@ -5197,12 +5197,12 @@ js_TestXMLEquality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
jsdouble d, d2;
JS_ASSERT(JS_InstanceOf(cx, obj, &js_XMLClass, NULL));
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
vxml = NULL;
if (!JSVAL_IS_PRIMITIVE(v)) {
vobj = JSVAL_TO_OBJECT(v);
if (OBJECT_IS_XML(cx, vobj))
vxml = (JSXML *) vobj->getAssignedPrivate();
vxml = (JSXML *) vobj->getPrivate();
}
if (xml->xml_class == JSXML_CLASS_LIST) {
@@ -5280,21 +5280,21 @@ js_ConcatenateXML(JSContext *cx, JSObject *obj, jsval v, jsval *vp)
goto out;
}
list = (JSXML *) listobj->getAssignedPrivate();
lxml = (JSXML *) obj->getAssignedPrivate();
list = (JSXML *) listobj->getPrivate();
lxml = (JSXML *) obj->getPrivate();
ok = Append(cx, list, lxml);
if (!ok)
goto out;
if (VALUE_IS_XML(cx, v)) {
rxml = (JSXML *) JSVAL_TO_OBJECT(v)->getAssignedPrivate();
rxml = (JSXML *) JSVAL_TO_OBJECT(v)->getPrivate();
} else {
robj = ToXML(cx, v);
if (!robj) {
ok = JS_FALSE;
goto out;
}
rxml = (JSXML *) robj->getAssignedPrivate();
rxml = (JSXML *) robj->getPrivate();
}
ok = Append(cx, list, rxml);
if (!ok)
@@ -5430,7 +5430,7 @@ xml_appendChild(JSContext *cx, uintN argc, jsval *vp)
JS_ASSERT(!JSVAL_IS_PRIMITIVE(v));
vobj = JSVAL_TO_OBJECT(v);
JS_ASSERT(OBJECT_IS_XML(cx, vobj));
vxml = (JSXML *) vobj->getAssignedPrivate();
vxml = (JSXML *) vobj->getPrivate();
JS_ASSERT(vxml->xml_class == JSXML_CLASS_LIST);
if (!IndexToIdVal(cx, vxml->xml_kids.length, &name))
@@ -5493,7 +5493,7 @@ xml_list_helper(JSContext *cx, JSXML *xml, jsval *rval)
return NULL;
*rval = OBJECT_TO_JSVAL(listobj);
list = (JSXML *) listobj->getAssignedPrivate();
list = (JSXML *) listobj->getPrivate();
list->xml_target = xml;
return list;
}
@@ -5558,7 +5558,7 @@ xml_child(JSContext *cx, uintN argc, jsval *vp)
}
JS_ASSERT(!JSVAL_IS_PRIMITIVE(v));
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getAssignedPrivate();
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getPrivate();
if ((!JSXML_HAS_KIDS(vxml) || vxml->xml_kids.length != 0) &&
!Append(cx, list, vxml)) {
return JS_FALSE;
@@ -5639,7 +5639,7 @@ xml_comments_helper(JSContext *cx, JSObject *obj, JSXML *xml, jsval *vp)
js_LeaveLocalRootScopeWithResult(cx, v);
if (!ok)
break;
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getAssignedPrivate();
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getPrivate();
if (JSXML_LENGTH(vxml) != 0) {
ok = Append(cx, list, vxml);
if (!ok)
@@ -5763,7 +5763,7 @@ xml_elements_helper(JSContext *cx, JSObject *obj, JSXML *xml,
js_LeaveLocalRootScopeWithResult(cx, v);
if (!ok)
break;
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getAssignedPrivate();
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getPrivate();
if (JSXML_LENGTH(vxml) != 0) {
ok = Append(cx, list, vxml);
if (!ok)
@@ -5856,7 +5856,7 @@ again:
if (!kidobj)
return JS_FALSE;
obj = kidobj;
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
goto again;
}
}
@@ -6034,7 +6034,7 @@ xml_insertChildAfter(JSContext *cx, uintN argc, jsval *vp)
} else {
if (!VALUE_IS_XML(cx, arg))
return JS_TRUE;
kid = (JSXML *) JSVAL_TO_OBJECT(arg)->getAssignedPrivate();
kid = (JSXML *) JSVAL_TO_OBJECT(arg)->getPrivate();
i = XMLARRAY_FIND_MEMBER(&xml->xml_kids, kid, NULL);
if (i == XML_NOT_FOUND)
return JS_TRUE;
@@ -6066,7 +6066,7 @@ xml_insertChildBefore(JSContext *cx, uintN argc, jsval *vp)
} else {
if (!VALUE_IS_XML(cx, arg))
return JS_TRUE;
kid = (JSXML *) JSVAL_TO_OBJECT(arg)->getAssignedPrivate();
kid = (JSXML *) JSVAL_TO_OBJECT(arg)->getPrivate();
i = XMLARRAY_FIND_MEMBER(&xml->xml_kids, kid, NULL);
if (i == XML_NOT_FOUND)
return JS_TRUE;
@@ -6384,7 +6384,7 @@ xml_processingInstructions_helper(JSContext *cx, JSObject *obj, JSXML *xml,
js_LeaveLocalRootScopeWithResult(cx, v);
if (!ok)
break;
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getAssignedPrivate();
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getPrivate();
if (JSXML_LENGTH(vxml) != 0) {
ok = Append(cx, list, vxml);
if (!ok)
@@ -6558,7 +6558,7 @@ xml_replace(JSContext *cx, uintN argc, jsval *vp)
} else {
value = vp[3];
vxml = VALUE_IS_XML(cx, value)
? (JSXML *) JSVAL_TO_OBJECT(value)->getAssignedPrivate()
? (JSXML *) JSVAL_TO_OBJECT(value)->getPrivate()
: NULL;
if (!vxml) {
if (!JS_ConvertValue(cx, value, JSTYPE_STRING, &vp[3]))
@@ -6853,7 +6853,7 @@ xml_text_helper(JSContext *cx, JSObject *obj, JSXML *xml, jsval *vp)
js_LeaveLocalRootScopeWithResult(cx, v);
if (!ok)
return JS_FALSE;
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getAssignedPrivate();
vxml = (JSXML *) JSVAL_TO_OBJECT(v)->getPrivate();
if (JSXML_LENGTH(vxml) != 0 && !Append(cx, list, vxml))
return JS_FALSE;
}
@@ -7123,7 +7123,7 @@ XML(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
if (!xobj)
return JS_FALSE;
*rval = OBJECT_TO_JSVAL(xobj);
xml = (JSXML *) xobj->getAssignedPrivate();
xml = (JSXML *) xobj->getPrivate();
if (JS_IsConstructing(cx) && !JSVAL_IS_PRIMITIVE(v)) {
vobj = JSVAL_TO_OBJECT(v);
@@ -7156,14 +7156,14 @@ XMLList(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval)
if (JS_IsConstructing(cx) && !JSVAL_IS_PRIMITIVE(v)) {
vobj = JSVAL_TO_OBJECT(v);
if (OBJECT_IS_XML(cx, vobj)) {
xml = (JSXML *) vobj->getAssignedPrivate();
xml = (JSXML *) vobj->getPrivate();
if (xml->xml_class == JSXML_CLASS_LIST) {
listobj = js_NewXMLObject(cx, JSXML_CLASS_LIST);
if (!listobj)
return JS_FALSE;
*rval = OBJECT_TO_JSVAL(listobj);
list = (JSXML *) listobj->getAssignedPrivate();
list = (JSXML *) listobj->getPrivate();
if (!Append(cx, list, xml))
return JS_FALSE;
return JS_TRUE;
@@ -7343,7 +7343,7 @@ js_GetXMLObject(JSContext *cx, JSXML *xml)
obj = xml->object;
if (obj) {
JS_ASSERT(obj->getAssignedPrivate() == xml);
JS_ASSERT(obj->getPrivate() == xml);
return obj;
}
@@ -7801,7 +7801,7 @@ js_FindXMLProperty(JSContext *cx, jsval nameval, JSObject **objp, jsid *idp)
if (OBJECT_IS_XML(cx, target)) {
if (funid == 0) {
xml = (JSXML *) target->getAssignedPrivate();
xml = (JSXML *) target->getPrivate();
found = HasNamedProperty(xml, qn);
} else {
if (!HasFunctionProperty(cx, target, funid, &found))
@@ -7865,7 +7865,7 @@ GetXMLFunction(JSContext *cx, JSObject *obj, jsid id, jsval *vp)
tvr.u.object = target;
}
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (HasSimpleContent(xml)) {
/* Search in String.prototype to implement 11.2.2.1 Step 3(f). */
ok = js_GetClassPrototype(cx, NULL, INT_TO_JSID(JSProto_String),
@@ -7917,7 +7917,7 @@ js_DeleteXMLListElements(JSContext *cx, JSObject *listobj)
JSXML *list;
uint32 n;
list = (JSXML *) listobj->getAssignedPrivate();
list = (JSXML *) listobj->getPrivate();
for (n = list->xml_kids.length; n != 0; --n)
DeleteListElement(cx, list, 0);
@@ -7995,7 +7995,7 @@ js_StepXMLListFilter(JSContext *cx, JSBool initialized)
return JS_FALSE;
}
obj = JSVAL_TO_OBJECT(sp[-2]);
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (xml->xml_class == JSXML_CLASS_LIST) {
list = xml;
@@ -8009,7 +8009,7 @@ js_StepXMLListFilter(JSContext *cx, JSBool initialized)
* as it may be the only root holding xml.
*/
sp[-1] = OBJECT_TO_JSVAL(obj);
list = (JSXML *) obj->getAssignedPrivate();
list = (JSXML *) obj->getPrivate();
if (!Append(cx, list, xml))
return JS_FALSE;
}
@@ -8036,13 +8036,13 @@ js_StepXMLListFilter(JSContext *cx, JSBool initialized)
return JS_FALSE;
/* This also roots resobj. */
filter->result = (JSXML *) resobj->getAssignedPrivate();
filter->result = (JSXML *) resobj->getPrivate();
} else {
/* We have iterated at least once. */
JS_ASSERT(!JSVAL_IS_PRIMITIVE(sp[-2]));
JS_ASSERT(OBJ_GET_CLASS(cx, JSVAL_TO_OBJECT(sp[-2])) ==
&js_XMLFilterClass);
filter = (JSXMLFilter *) JSVAL_TO_OBJECT(sp[-2])->getAssignedPrivate();
filter = (JSXMLFilter *) JSVAL_TO_OBJECT(sp[-2])->getPrivate();
JS_ASSERT(filter->kid);
/* Check if the filter expression wants to append the element. */
@@ -8094,7 +8094,7 @@ js_CloneXMLObject(JSContext *cx, JSObject *obj)
if (!GetXMLSettingFlags(cx, &flags))
return NULL;
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (flags & (XSF_IGNORE_COMMENTS |
XSF_IGNORE_PROCESSING_INSTRUCTIONS |
XSF_IGNORE_WHITESPACE)) {
@@ -8128,7 +8128,7 @@ js_NewXMLSpecialObject(JSContext *cx, JSXMLClass xml_class, JSString *name,
obj = js_NewXMLObject(cx, xml_class);
if (!obj)
return NULL;
xml = (JSXML *) obj->getAssignedPrivate();
xml = (JSXML *) obj->getPrivate();
if (name) {
qn = NewXMLQName(cx, cx->runtime->emptyString, NULL, name);
if (!qn)