Bug 558437 - rename JSCompiler to js::Parser (r=brendan).

This commit is contained in:
Dave Herman
2010-04-10 21:15:35 -07:00
parent 35ab6874e5
commit 9df28068ad
17 changed files with 351 additions and 313 deletions

View File

@@ -1216,10 +1216,10 @@ static const char xml_namespace_str[] = "http://www.w3.org/XML/1998/namespace";
static const char xmlns_namespace_str[] = "http://www.w3.org/2000/xmlns/";
static JSObject *
ParseNodeToQName(JSCompiler *jsc, JSParseNode *pn,
ParseNodeToQName(Parser *parser, JSParseNode *pn,
JSXMLArray *inScopeNSes, JSBool isAttributeName)
{
JSContext *cx = jsc->context;
JSContext *cx = parser->context;
JSString *str, *uri, *prefix, *localName;
size_t length, offset;
const jschar *start, *limit, *colon;
@@ -1269,14 +1269,14 @@ ParseNodeToQName(JSCompiler *jsc, JSParseNode *pn,
}
if (!uri) {
ReportCompileErrorNumber(jsc->context, &jsc->tokenStream, pn,
ReportCompileErrorNumber(parser->context, &parser->tokenStream, pn,
JSREPORT_ERROR, JSMSG_BAD_XML_NAMESPACE,
js_ValueToPrintableString(jsc->context,
js_ValueToPrintableString(parser->context,
STRING_TO_JSVAL(prefix)));
return NULL;
}
localName = js_NewStringCopyN(jsc->context, colon + 1, length - (offset + 1));
localName = js_NewStringCopyN(parser->context, colon + 1, length - (offset + 1));
if (!localName)
return NULL;
} else {
@@ -1301,12 +1301,12 @@ ParseNodeToQName(JSCompiler *jsc, JSParseNode *pn,
break;
}
}
prefix = uri->empty() ? jsc->context->runtime->emptyString : NULL;
prefix = uri->empty() ? parser->context->runtime->emptyString : NULL;
}
localName = str;
}
return NewXMLQName(jsc->context, uri, prefix, localName);
return NewXMLQName(parser->context, uri, prefix, localName);
}
static JSString *
@@ -1336,10 +1336,10 @@ ChompXMLWhitespace(JSContext *cx, JSString *str)
}
static JSXML *
ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
ParseNodeToXML(Parser *parser, JSParseNode *pn,
JSXMLArray *inScopeNSes, uintN flags)
{
JSContext *cx = jsc->context;
JSContext *cx = parser->context;
JSXML *xml, *kid, *attr, *attrj;
JSString *str;
uint32 length, n, i, j;
@@ -1350,7 +1350,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
int stackDummy;
if (!JS_CHECK_STACK_SIZE(cx, stackDummy)) {
ReportCompileErrorNumber(cx, &jsc->tokenStream, pn, JSREPORT_ERROR,
ReportCompileErrorNumber(cx, &parser->tokenStream, pn, JSREPORT_ERROR,
JSMSG_OVER_RECURSED);
return NULL;
}
@@ -1369,7 +1369,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
case TOK_XMLELEM:
length = inScopeNSes->length;
pn2 = pn->pn_head;
xml = ParseNodeToXML(jsc, pn2, inScopeNSes, flags);
xml = ParseNodeToXML(parser, pn2, inScopeNSes, flags);
if (!xml)
goto fail;
@@ -1394,7 +1394,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
continue;
}
kid = ParseNodeToXML(jsc, pn2, inScopeNSes, flags);
kid = ParseNodeToXML(parser, pn2, inScopeNSes, flags);
if (kid == PN2X_SKIP_CHILD) {
--n;
continue;
@@ -1445,7 +1445,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
continue;
}
kid = ParseNodeToXML(jsc, pn2, inScopeNSes, flags);
kid = ParseNodeToXML(parser, pn2, inScopeNSes, flags);
if (kid == PN2X_SKIP_CHILD) {
--n;
continue;
@@ -1489,7 +1489,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
/* Enforce "Well-formedness constraint: Unique Att Spec". */
for (pn3 = head; pn3 != pn2; pn3 = pn3->pn_next->pn_next) {
if (pn3->pn_atom == pn2->pn_atom) {
ReportCompileErrorNumber(cx, &jsc->tokenStream, pn2,
ReportCompileErrorNumber(cx, &parser->tokenStream, pn2,
JSREPORT_ERROR, JSMSG_DUPLICATE_XML_ATTR,
js_ValueToPrintableString(cx,
ATOM_KEY(pn2->pn_atom)));
@@ -1573,7 +1573,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
/* Second pass: process tag name and attributes, using namespaces. */
pn2 = pn->pn_head;
qn = ParseNodeToQName(jsc, pn2, inScopeNSes, JS_FALSE);
qn = ParseNodeToQName(parser, pn2, inScopeNSes, JS_FALSE);
if (!qn)
goto fail;
xml->name = qn;
@@ -1584,7 +1584,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
goto fail;
for (i = 0; (pn2 = pn2->pn_next) != NULL; i++) {
qn = ParseNodeToQName(jsc, pn2, inScopeNSes, JS_TRUE);
qn = ParseNodeToQName(parser, pn2, inScopeNSes, JS_TRUE);
if (!qn) {
xml->xml_attrs.length = i;
goto fail;
@@ -1599,7 +1599,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
attrjqn = attrj->name;
if (js_EqualStrings(GetURI(attrjqn), GetURI(qn)) &&
js_EqualStrings(GetLocalName(attrjqn), GetLocalName(qn))) {
ReportCompileErrorNumber(cx, &jsc->tokenStream, pn2,
ReportCompileErrorNumber(cx, &parser->tokenStream, pn2,
JSREPORT_ERROR, JSMSG_DUPLICATE_XML_ATTR,
js_ValueToPrintableString(cx,
ATOM_KEY(pn2->pn_atom)));
@@ -1639,7 +1639,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
xml_class = JSXML_CLASS_COMMENT;
} else if (pn->pn_type == TOK_XMLPI) {
if (IS_XML(str)) {
ReportCompileErrorNumber(cx, &jsc->tokenStream, pn,
ReportCompileErrorNumber(cx, &parser->tokenStream, pn,
JSREPORT_ERROR, JSMSG_RESERVED_ID,
js_ValueToPrintableString(cx,
STRING_TO_JSVAL(str)));
@@ -1649,7 +1649,7 @@ ParseNodeToXML(JSCompiler *jsc, JSParseNode *pn,
if (flags & XSF_IGNORE_PROCESSING_INSTRUCTIONS)
goto skip_child;
qn = ParseNodeToQName(jsc, pn, inScopeNSes, JS_FALSE);
qn = ParseNodeToQName(parser, pn, inScopeNSes, JS_FALSE);
if (!qn)
goto fail;
@@ -1687,7 +1687,7 @@ skip_child:
#undef PN2X_SKIP_CHILD
syntax:
ReportCompileErrorNumber(cx, &jsc->tokenStream, pn, JSREPORT_ERROR, JSMSG_BAD_XML_MARKUP);
ReportCompileErrorNumber(cx, &parser->tokenStream, pn, JSREPORT_ERROR, JSMSG_BAD_XML_MARKUP);
fail:
js_LeaveLocalRootScope(cx);
return NULL;
@@ -1843,12 +1843,12 @@ ParseXMLSource(JSContext *cx, JSString *src)
}
{
JSCompiler jsc(cx);
if (jsc.init(chars, length, NULL, filename, lineno)) {
pn = jsc.parseXMLText(js_GetTopStackFrame(cx)->scopeChain, false);
Parser parser(cx);
if (parser.init(chars, length, NULL, filename, lineno)) {
pn = parser.parseXMLText(js_GetTopStackFrame(cx)->scopeChain, false);
if (pn && XMLArrayInit(cx, &nsarray, 1)) {
if (GetXMLSettingFlags(cx, &flags))
xml = ParseNodeToXML(&jsc, pn, &nsarray, flags);
xml = ParseNodeToXML(&parser, pn, &nsarray, flags);
XMLArrayFinish(cx, &nsarray);
}