diff --git a/mozilla/extensions/transformiix/build/Makefile.in b/mozilla/extensions/transformiix/build/Makefile.in index 39e5897517f..5a5e42983ff 100644 --- a/mozilla/extensions/transformiix/build/Makefile.in +++ b/mozilla/extensions/transformiix/build/Makefile.in @@ -81,7 +81,6 @@ LOBJS = ../source/base/Double.$(OBJ_SUFFIX) \ ../source/xpath/FunctionCall.$(OBJ_SUFFIX) \ ../source/xpath/LocationStep.$(OBJ_SUFFIX) \ ../source/xpath/MultiplicativeExpr.$(OBJ_SUFFIX) \ - ../source/xpath/NodeSet.$(OBJ_SUFFIX) \ ../source/xpath/NodeSetFunctionCall.$(OBJ_SUFFIX) \ ../source/xpath/nsXPathEvaluator.$(OBJ_SUFFIX) \ ../source/xpath/nsXPathException.$(OBJ_SUFFIX) \ @@ -99,6 +98,7 @@ LOBJS = ../source/base/Double.$(OBJ_SUFFIX) \ ../source/xpath/StringResult.$(OBJ_SUFFIX) \ ../source/xpath/txLiteralExpr.$(OBJ_SUFFIX) \ ../source/xpath/txNameTest.$(OBJ_SUFFIX) \ + ../source/xpath/txNodeSet.$(OBJ_SUFFIX) \ ../source/xpath/txNodeTypeTest.$(OBJ_SUFFIX) \ ../source/xpath/txForwardContext.$(OBJ_SUFFIX) \ ../source/xpath/txNodeSetContext.$(OBJ_SUFFIX) \ diff --git a/mozilla/extensions/transformiix/source/lib/Makefile.in b/mozilla/extensions/transformiix/source/lib/Makefile.in index ef71ef25836..97d79db63a1 100644 --- a/mozilla/extensions/transformiix/source/lib/Makefile.in +++ b/mozilla/extensions/transformiix/source/lib/Makefile.in @@ -60,7 +60,6 @@ OBJS = ../base/Double.$(OBJ_SUFFIX) \ ../xpath/FunctionCall.$(OBJ_SUFFIX) \ ../xpath/LocationStep.$(OBJ_SUFFIX) \ ../xpath/MultiplicativeExpr.$(OBJ_SUFFIX) \ - ../xpath/NodeSet.$(OBJ_SUFFIX) \ ../xpath/NodeSetFunctionCall.$(OBJ_SUFFIX) \ ../xpath/NumberFunctionCall.$(OBJ_SUFFIX) \ ../xpath/NumberResult.$(OBJ_SUFFIX) \ @@ -72,6 +71,7 @@ OBJS = ../base/Double.$(OBJ_SUFFIX) \ ../xpath/StringResult.$(OBJ_SUFFIX) \ ../xpath/txLiteralExpr.$(OBJ_SUFFIX) \ ../xpath/txNameTest.$(OBJ_SUFFIX) \ + ../xpath/txNodeSet.$(OBJ_SUFFIX) \ ../xpath/txNodeTypeTest.$(OBJ_SUFFIX) \ ../xpath/txForwardContext.$(OBJ_SUFFIX) \ ../xpath/txNodeSetContext.$(OBJ_SUFFIX) \ diff --git a/mozilla/extensions/transformiix/source/xpath/Expr.h b/mozilla/extensions/transformiix/source/xpath/Expr.h index c5fe9388529..1640fc41374 100644 --- a/mozilla/extensions/transformiix/source/xpath/Expr.h +++ b/mozilla/extensions/transformiix/source/xpath/Expr.h @@ -49,10 +49,10 @@ Much of this code was ported from XSL:P. */ -class NodeSet; class txIParseContext; class txIMatchContext; class txIEvalContext; +class txNodeSet; /** * A Base Class for all XSL Expressions @@ -167,7 +167,7 @@ protected: * If the result is not a NodeSet an error is returned. */ nsresult evaluateToNodeSet(Expr* aExpr, txIEvalContext* aContext, - NodeSet** aResult); + txNodeSet** aResult); /* * Returns the name of the function as an atom. @@ -305,7 +305,7 @@ public: */ nsresult add(Expr* aExpr); - nsresult evaluatePredicates(NodeSet* aNodes, txIMatchContext* aContext); + nsresult evaluatePredicates(txNodeSet* aNodes, txIMatchContext* aContext); /** * returns true if this predicate list is empty @@ -327,12 +327,10 @@ protected: List predicates; }; //-- PredicateList -class LocationStep : public PredicateList, public Expr { - +class LocationStep : public PredicateList, + public Expr +{ public: - - // Axis Identifier Types - //-- LF changed from static const short to enum enum LocationStepType { ANCESTOR_AXIS = 0, ANCESTOR_OR_SELF_AXIS, @@ -364,17 +362,14 @@ public: TX_DECL_EXPR; private: + void fromDescendants(Node* node, txIMatchContext* aContext, + txNodeSet* nodes); + void fromDescendantsRev(Node* node, txIMatchContext* aContext, + txNodeSet* nodes); nsAutoPtr mNodeTest; LocationStepType mAxisIdentifier; - - void fromDescendants(Node* node, txIMatchContext* aContext, - NodeSet* nodes); - void fromDescendantsRev(Node* node, txIMatchContext* aContext, - NodeSet* nodes); - -}; //-- LocationStep - +}; class FilterExpr : public PredicateList, public Expr { @@ -626,9 +621,8 @@ private: */ nsresult evalDescendants(Expr* aStep, Node* aNode, txIMatchContext* aContext, - NodeSet* resNodes); - -}; //-- PathExpr + txNodeSet* resNodes); +}; /** * This class represents a RootExpr, which only matches the Document node diff --git a/mozilla/extensions/transformiix/source/xpath/FilterExpr.cpp b/mozilla/extensions/transformiix/source/xpath/FilterExpr.cpp index 86df20bac9c..b065e786544 100644 --- a/mozilla/extensions/transformiix/source/xpath/FilterExpr.cpp +++ b/mozilla/extensions/transformiix/source/xpath/FilterExpr.cpp @@ -26,7 +26,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txIXPathContext.h" //-- Implementation of FilterExpr --/ @@ -55,11 +55,12 @@ FilterExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) NS_ENSURE_TRUE(exprRes->getResultType() == txAExprResult::NODESET, NS_ERROR_XSLT_NODESET_EXPECTED); - nsRefPtr nodes = - NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); + nsRefPtr nodes = + NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); // null out exprRes so that we can test for shared-ness exprRes = nsnull; - nsRefPtr nonShared; + + nsRefPtr nonShared; rv = aContext->recycler()->getNonSharedNodeSet(nodes, getter_AddRefs(nonShared)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/mozilla/extensions/transformiix/source/xpath/FunctionCall.cpp b/mozilla/extensions/transformiix/source/xpath/FunctionCall.cpp index 183061eed9d..75e03227f04 100644 --- a/mozilla/extensions/transformiix/source/xpath/FunctionCall.cpp +++ b/mozilla/extensions/transformiix/source/xpath/FunctionCall.cpp @@ -27,7 +27,7 @@ #include "ExprResult.h" #include "nsIAtom.h" #include "txIXPathContext.h" -#include "NodeSet.h" +#include "txNodeSet.h" /** * This class represents a FunctionCall as defined by the XSL Working Draft @@ -117,7 +117,7 @@ MBool FunctionCall::evaluateToBoolean(Expr* aExpr, txIEvalContext* aContext) */ nsresult FunctionCall::evaluateToNodeSet(Expr* aExpr, txIEvalContext* aContext, - NodeSet** aResult) + txNodeSet** aResult) { NS_ASSERTION(aExpr, "Missing expression to evaluate"); *aResult = nsnull; @@ -132,7 +132,7 @@ FunctionCall::evaluateToNodeSet(Expr* aExpr, txIEvalContext* aContext, } *aResult = - NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); + NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); NS_ADDREF(*aResult); return NS_OK; diff --git a/mozilla/extensions/transformiix/source/xpath/LocationStep.cpp b/mozilla/extensions/transformiix/source/xpath/LocationStep.cpp index cca376585e7..de771cf7ffd 100644 --- a/mozilla/extensions/transformiix/source/xpath/LocationStep.cpp +++ b/mozilla/extensions/transformiix/source/xpath/LocationStep.cpp @@ -28,8 +28,8 @@ */ #include "Expr.h" -#include "NodeSet.h" #include "txIXPathContext.h" +#include "txNodeSet.h" //-----------------------------/ //- Virtual methods from Expr -/ @@ -49,7 +49,7 @@ LocationStep::evaluate(txIEvalContext* aContext, txAExprResult** aResult) NS_ASSERTION(aContext, "internal error"); *aResult = nsnull; - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -187,14 +187,14 @@ LocationStep::evaluate(txIEvalContext* aContext, txAExprResult** aResult) if (reverse) nodes->reverse(); - *aResult = nodes; - NS_ADDREF(*aResult); + NS_ADDREF(*aResult = nodes); return NS_OK; } -void LocationStep::fromDescendants(Node* node, txIMatchContext* cs, - NodeSet* nodes) +void LocationStep::fromDescendants(Node* node, + txIMatchContext* cs, + txNodeSet* nodes) { if (!node) return; @@ -209,11 +209,11 @@ void LocationStep::fromDescendants(Node* node, txIMatchContext* cs, child = child->getNextSibling(); } +} -} //-- fromDescendants - -void LocationStep::fromDescendantsRev(Node* node, txIMatchContext* cs, - NodeSet* nodes) +void LocationStep::fromDescendantsRev(Node* node, + txIMatchContext* cs, + txNodeSet* nodes) { if (!node) return; @@ -229,8 +229,7 @@ void LocationStep::fromDescendantsRev(Node* node, txIMatchContext* cs, child = child->getPreviousSibling(); } - -} //-- fromDescendantsRev +} /** * Creates a String representation of this Expr diff --git a/mozilla/extensions/transformiix/source/xpath/Makefile.in b/mozilla/extensions/transformiix/source/xpath/Makefile.in index 97e1f9741b9..0a91de1e4f0 100644 --- a/mozilla/extensions/transformiix/source/xpath/Makefile.in +++ b/mozilla/extensions/transformiix/source/xpath/Makefile.in @@ -34,12 +34,12 @@ REQUIRES = string \ ifndef TX_EXE REQUIRES += dom \ content \ - necko \ widget \ xpconnect \ js \ unicharutil \ layout \ + necko \ $(NULL) endif @@ -54,7 +54,6 @@ CPPSRCS = AdditiveExpr.cpp \ FunctionCall.cpp \ LocationStep.cpp \ MultiplicativeExpr.cpp \ - NodeSet.cpp \ NodeSetFunctionCall.cpp \ NumberFunctionCall.cpp \ NumberResult.cpp \ @@ -66,6 +65,7 @@ CPPSRCS = AdditiveExpr.cpp \ StringResult.cpp \ txLiteralExpr.cpp \ txNameTest.cpp \ + txNodeSet.cpp \ txNodeTypeTest.cpp \ txForwardContext.cpp \ txNodeSetContext.cpp \ diff --git a/mozilla/extensions/transformiix/source/xpath/NodeSetFunctionCall.cpp b/mozilla/extensions/transformiix/source/xpath/NodeSetFunctionCall.cpp index 781de54121e..425982b5be8 100644 --- a/mozilla/extensions/transformiix/source/xpath/NodeSetFunctionCall.cpp +++ b/mozilla/extensions/transformiix/source/xpath/NodeSetFunctionCall.cpp @@ -33,7 +33,7 @@ */ #include "FunctionLib.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txAtoms.h" #include "txIXPathContext.h" #include "txTokenizer.h" @@ -63,14 +63,14 @@ NodeSetFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) *aResult = nsnull; nsresult rv = NS_OK; txListIterator iter(¶ms); - + switch (mType) { case COUNT: { if (!requireParams(1, 1, aContext)) return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT; - nsRefPtr nodes; + nsRefPtr nodes; rv = evaluateToNodeSet((Expr*)iter.next(), aContext, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -88,7 +88,7 @@ NodeSetFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) getter_AddRefs(exprResult)); NS_ENSURE_SUCCESS(rv, rv); - nsRefPtr resultSet; + nsRefPtr resultSet; rv = aContext->recycler()->getNodeSet(getter_AddRefs(resultSet)); NS_ENSURE_SUCCESS(rv, rv); @@ -100,11 +100,11 @@ NodeSetFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) contextDoc = contextNode->getOwnerDocument(); if (exprResult->getResultType() == txAExprResult::NODESET) { - NodeSet* nodes = NS_STATIC_CAST(NodeSet*, - NS_STATIC_CAST(txAExprResult*, - exprResult)); - int i; - for (i = 0; i < nodes->size(); i++) { + txNodeSet* nodes = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprResult)); + PRInt32 i; + for (i = 0; i < nodes->size(); ++i) { nsAutoString idList; XMLDOMUtils::getNodeValue(nodes->get(i), idList); txTokenizer tokenizer(idList); @@ -145,13 +145,14 @@ NodeSetFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) case NAME: case NAMESPACE_URI: { - if (!requireParams(0, 1, aContext)) + if (!requireParams(0, 1, aContext)) { return NS_ERROR_XPATH_BAD_ARGUMENT_COUNT; + } Node* node = 0; // Check for optional arg if (iter.hasNext()) { - nsRefPtr nodes; + nsRefPtr nodes; rv = evaluateToNodeSet((Expr*)iter.next(), aContext, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/mozilla/extensions/transformiix/source/xpath/NumberFunctionCall.cpp b/mozilla/extensions/transformiix/source/xpath/NumberFunctionCall.cpp index 84d238b9a9c..7b824ca2d33 100644 --- a/mozilla/extensions/transformiix/source/xpath/NumberFunctionCall.cpp +++ b/mozilla/extensions/transformiix/source/xpath/NumberFunctionCall.cpp @@ -35,7 +35,7 @@ #include "FunctionLib.h" #include -#include "NodeSet.h" +#include "txNodeSet.h" #include "txAtoms.h" #include "txIXPathContext.h" #include "XMLDOMUtils.h" @@ -112,14 +112,14 @@ NumberFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) } case SUM: { - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = evaluateToNodeSet((Expr*)iter.next(), aContext, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); double res = 0; - int i; - for (i = 0; i < nodes->size(); i++) { + PRInt32 i; + for (i = 0; i < nodes->size(); ++i) { nsAutoString resultStr; XMLDOMUtils::getNodeValue(nodes->get(i), resultStr); res += Double::toDouble(resultStr); diff --git a/mozilla/extensions/transformiix/source/xpath/PathExpr.cpp b/mozilla/extensions/transformiix/source/xpath/PathExpr.cpp index 3673e2ec112..41827cd4a4a 100644 --- a/mozilla/extensions/transformiix/source/xpath/PathExpr.cpp +++ b/mozilla/extensions/transformiix/source/xpath/PathExpr.cpp @@ -32,7 +32,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txNodeSetContext.h" #include "txSingleNodeContext.h" #include "XMLUtils.h" @@ -97,7 +97,7 @@ PathExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) { *aResult = nsnull; - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = aContext->recycler()->getNodeSet(aContext->getContextNode(), getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -105,13 +105,13 @@ PathExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) txListIterator iter(&expressions); PathExprItem* pxi; while ((pxi = (PathExprItem*)iter.next())) { - nsRefPtr tmpNodes; + nsRefPtr tmpNodes; txNodeSetContext eContext(nodes, aContext); while (eContext.hasNext()) { eContext.next(); Node* node = eContext.getContextNode(); - nsRefPtr resNodes; + nsRefPtr resNodes; if (pxi->pathOp == DESCENDANT_OP) { rv = aContext->recycler()->getNodeSet(getter_AddRefs(resNodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -128,14 +128,14 @@ PathExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) //XXX ErrorReport: report nonnodeset error return NS_ERROR_XSLT_NODESET_EXPECTED; } - resNodes = NS_STATIC_CAST(NodeSet*, + resNodes = NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, res)); } if (tmpNodes) { if (!resNodes->isEmpty()) { - nsRefPtr oldSet; + nsRefPtr oldSet; oldSet.swap(tmpNodes); rv = aContext->recycler()-> getNonSharedNodeSet(oldSet, getter_AddRefs(tmpNodes)); @@ -166,7 +166,7 @@ PathExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) **/ nsresult PathExpr::evalDescendants(Expr* aStep, Node* aNode, txIMatchContext* aContext, - NodeSet* resNodes) + txNodeSet* resNodes) { txSingleNodeContext eContext(aNode, aContext); nsRefPtr res; @@ -177,8 +177,8 @@ PathExpr::evalDescendants(Expr* aStep, Node* aNode, txIMatchContext* aContext, //XXX ErrorReport: report nonnodeset error return NS_ERROR_XSLT_NODESET_EXPECTED; } - resNodes->add(NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, - res))); + resNodes->add(NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, + res))); MBool filterWS = aContext->isStripSpaceAllowed(aNode); diff --git a/mozilla/extensions/transformiix/source/xpath/PredicateList.cpp b/mozilla/extensions/transformiix/source/xpath/PredicateList.cpp index ec456d24dde..84db54d5982 100644 --- a/mozilla/extensions/transformiix/source/xpath/PredicateList.cpp +++ b/mozilla/extensions/transformiix/source/xpath/PredicateList.cpp @@ -24,7 +24,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txNodeSetContext.h" /* @@ -63,11 +63,11 @@ PredicateList::add(Expr* aExpr) } // add nsresult -PredicateList::evaluatePredicates(NodeSet* nodes, +PredicateList::evaluatePredicates(txNodeSet* nodes, txIMatchContext* aContext) { NS_ASSERTION(nodes, "called evaluatePredicates with NULL NodeSet"); - nsRefPtr newNodes; + nsRefPtr newNodes; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(newNodes)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/mozilla/extensions/transformiix/source/xpath/RelationalExpr.cpp b/mozilla/extensions/transformiix/source/xpath/RelationalExpr.cpp index dd819b84dff..0d905fc3d2c 100644 --- a/mozilla/extensions/transformiix/source/xpath/RelationalExpr.cpp +++ b/mozilla/extensions/transformiix/source/xpath/RelationalExpr.cpp @@ -28,7 +28,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "XMLDOMUtils.h" #include "txIXPathContext.h" @@ -50,16 +50,15 @@ RelationalExpr::compareResults(txIEvalContext* aContext, txAExprResult* aLeft, return compareResults(aContext, &leftBool, aRight); } - NodeSet* nodeSet = NS_STATIC_CAST(NodeSet*, aLeft); + txNodeSet* nodeSet = NS_STATIC_CAST(txNodeSet*, aLeft); nsRefPtr strResult; rv = aContext->recycler()->getStringResult(getter_AddRefs(strResult)); NS_ENSURE_SUCCESS(rv, rv); - int i; + PRInt32 i; for (i = 0; i < nodeSet->size(); ++i) { - Node* node = nodeSet->get(i); strResult->mValue.Truncate(); - XMLDOMUtils::getNodeValue(node, strResult->mValue); + XMLDOMUtils::getNodeValue(nodeSet->get(i), strResult->mValue); if (compareResults(aContext, strResult, aRight)) { return PR_TRUE; } @@ -75,16 +74,15 @@ RelationalExpr::compareResults(txIEvalContext* aContext, txAExprResult* aLeft, return compareResults(aContext, aLeft, &rightBool); } - NodeSet* nodeSet = NS_STATIC_CAST(NodeSet*, aRight); + txNodeSet* nodeSet = NS_STATIC_CAST(txNodeSet*, aRight); nsRefPtr strResult; rv = aContext->recycler()->getStringResult(getter_AddRefs(strResult)); NS_ENSURE_SUCCESS(rv, rv); - int i; + PRInt32 i; for (i = 0; i < nodeSet->size(); ++i) { - Node* node = nodeSet->get(i); strResult->mValue.Truncate(); - XMLDOMUtils::getNodeValue(node, strResult->mValue); + XMLDOMUtils::getNodeValue(nodeSet->get(i), strResult->mValue); if (compareResults(aContext, aLeft, strResult)) { return PR_TRUE; } @@ -167,7 +165,7 @@ RelationalExpr::compareResults(txIEvalContext* aContext, txAExprResult* aLeft, return leftDbl >= rightDbl; } - NS_NOTREACHED("We should have cought all cases"); + NS_NOTREACHED("We should have caught all cases"); return PR_FALSE; } diff --git a/mozilla/extensions/transformiix/source/xpath/RootExpr.cpp b/mozilla/extensions/transformiix/source/xpath/RootExpr.cpp index a211beb5a4c..e4c62451c0a 100644 --- a/mozilla/extensions/transformiix/source/xpath/RootExpr.cpp +++ b/mozilla/extensions/transformiix/source/xpath/RootExpr.cpp @@ -24,7 +24,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txIXPathContext.h" /** diff --git a/mozilla/extensions/transformiix/source/xpath/UnionExpr.cpp b/mozilla/extensions/transformiix/source/xpath/UnionExpr.cpp index 667b8700a2a..7e712acd927 100644 --- a/mozilla/extensions/transformiix/source/xpath/UnionExpr.cpp +++ b/mozilla/extensions/transformiix/source/xpath/UnionExpr.cpp @@ -24,7 +24,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txIXPathContext.h" //-------------/ @@ -78,7 +78,7 @@ nsresult UnionExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) { *aResult = nsnull; - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -93,8 +93,8 @@ UnionExpr::evaluate(txIEvalContext* aContext, txAExprResult** aResult) //XXX ErrorReport: report nonnodeset error return NS_ERROR_XSLT_NODESET_EXPECTED; } - rv = nodes->add(NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, - exprResult))); + rv = nodes->add(NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, + exprResult))); NS_ENSURE_SUCCESS(rv, rv); } diff --git a/mozilla/extensions/transformiix/source/xpath/VariableRefExpr.cpp b/mozilla/extensions/transformiix/source/xpath/VariableRefExpr.cpp index 828f9da1974..3ccbacabb7e 100644 --- a/mozilla/extensions/transformiix/source/xpath/VariableRefExpr.cpp +++ b/mozilla/extensions/transformiix/source/xpath/VariableRefExpr.cpp @@ -24,7 +24,7 @@ */ #include "Expr.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "txAtoms.h" #include "txIXPathContext.h" diff --git a/mozilla/extensions/transformiix/source/xpath/nsXPathResult.cpp b/mozilla/extensions/transformiix/source/xpath/nsXPathResult.cpp index f0a599aac30..73ecdbc6d11 100644 --- a/mozilla/extensions/transformiix/source/xpath/nsXPathResult.cpp +++ b/mozilla/extensions/transformiix/source/xpath/nsXPathResult.cpp @@ -40,7 +40,7 @@ #include "nsXPathResult.h" #include "dom.h" #include "ExprResult.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "nsDOMError.h" #include "nsIContent.h" #include "nsIDOMClassInfo.h" @@ -48,16 +48,6 @@ #include "nsXPathException.h" #include "nsIDOMDocument.h" -NS_IMPL_ADDREF(nsXPathResult) -NS_IMPL_RELEASE(nsXPathResult) -NS_INTERFACE_MAP_BEGIN(nsXPathResult) - NS_INTERFACE_MAP_ENTRY(nsIDOMXPathResult) - NS_INTERFACE_MAP_ENTRY(nsIDocumentObserver) - NS_INTERFACE_MAP_ENTRY(nsIXPathResult) - NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMXPathResult) - NS_INTERFACE_MAP_ENTRY_EXTERNAL_DOM_CLASSINFO(XPathResult) -NS_INTERFACE_MAP_END - nsXPathResult::nsXPathResult() : mNumberValue(0), mDocument(0), mCurrentPos(0), @@ -71,6 +61,16 @@ nsXPathResult::~nsXPathResult() Reset(); } +NS_IMPL_ADDREF(nsXPathResult) +NS_IMPL_RELEASE(nsXPathResult) +NS_INTERFACE_MAP_BEGIN(nsXPathResult) + NS_INTERFACE_MAP_ENTRY(nsIDOMXPathResult) + NS_INTERFACE_MAP_ENTRY(nsIDocumentObserver) + NS_INTERFACE_MAP_ENTRY(nsIXPathResult) + NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIDOMXPathResult) + NS_INTERFACE_MAP_ENTRY_EXTERNAL_DOM_CLASSINFO(XPathResult) +NS_INTERFACE_MAP_END + NS_IMETHODIMP nsXPathResult::GetResultType(PRUint16 *aResultType) { @@ -170,7 +170,7 @@ nsXPathResult::IterateNext(nsIDOMNode **aResult) return NS_ERROR_DOM_INVALID_STATE_ERR; NS_ENSURE_ARG(aResult); - if (mElements && mCurrentPos < mElements->Count()) { + if (mElements && mCurrentPos < (PRUint32)mElements->Count()) { *aResult = mElements->ObjectAt(mCurrentPos++); NS_ADDREF(*aResult); return NS_OK; @@ -187,7 +187,7 @@ nsXPathResult::SnapshotItem(PRUint32 aIndex, nsIDOMNode **aResult) return NS_ERROR_DOM_TYPE_ERR; NS_ENSURE_ARG(aResult); - if (mElements && aIndex < mElements->Count()) { + if (mElements && aIndex < (PRUint32)mElements->Count()) { *aResult = mElements->ObjectAt(aIndex); NS_ADDREF(*aResult); return NS_OK; @@ -288,7 +288,7 @@ nsXPathResult::SetExprResult(txAExprResult* aExprResult, PRUint16 aResultType) if (aExprResult->getResultType() == txAExprResult::NODESET) { nsresult rv = NS_OK; - NodeSet* nodeSet = (NodeSet*)aExprResult; + txNodeSet* nodeSet = NS_STATIC_CAST(txNodeSet*, aExprResult); if (mResultType == FIRST_ORDERED_NODE_TYPE || mResultType == ANY_UNORDERED_NODE_TYPE) { @@ -302,7 +302,7 @@ nsXPathResult::SetExprResult(txAExprResult* aExprResult, PRUint16 aResultType) mInvalidIteratorState = PR_FALSE; } - int count = nodeSet->size(); + PRInt32 count = nodeSet->size(); if (count == 0) return NS_OK; @@ -310,7 +310,7 @@ nsXPathResult::SetExprResult(txAExprResult* aExprResult, PRUint16 aResultType) NS_ENSURE_TRUE(mElements, NS_ERROR_OUT_OF_MEMORY); nsCOMPtr node; - int i; + PRInt32 i; for (i = 0; i < count; ++i) { node = do_QueryInterface(nodeSet->get(i)->getNSObj()); NS_ASSERTION(node, "node isn't an nsIDOMNode"); diff --git a/mozilla/extensions/transformiix/source/xpath/txForwardContext.cpp b/mozilla/extensions/transformiix/source/xpath/txForwardContext.cpp index 6f51d23dbed..2c5fe5395f6 100644 --- a/mozilla/extensions/transformiix/source/xpath/txForwardContext.cpp +++ b/mozilla/extensions/transformiix/source/xpath/txForwardContext.cpp @@ -37,11 +37,11 @@ * ***** END LICENSE BLOCK ***** */ #include "txForwardContext.h" -#include "NodeSet.h" +#include "txNodeSet.h" Node* txForwardContext::getContextNode() { - return mContext; + return mContextNode; } PRUint32 txForwardContext::size() @@ -51,9 +51,9 @@ PRUint32 txForwardContext::size() PRUint32 txForwardContext::position() { - int pos = mContextSet->indexOf(mContext); + PRInt32 pos = mContextSet->indexOf(mContextNode); NS_ASSERTION(pos >= 0, "Context is not member of context node list."); - return (PRUint32)(pos+1); + return (PRUint32)(pos + 1); } nsresult txForwardContext::getVariable(PRInt32 aNamespace, nsIAtom* aLName, diff --git a/mozilla/extensions/transformiix/source/xpath/txForwardContext.h b/mozilla/extensions/transformiix/source/xpath/txForwardContext.h index 24445af5b32..d86d75c07c7 100644 --- a/mozilla/extensions/transformiix/source/xpath/txForwardContext.h +++ b/mozilla/extensions/transformiix/source/xpath/txForwardContext.h @@ -41,15 +41,16 @@ #include "txIXPathContext.h" #include "nsAutoPtr.h" -#include "NodeSet.h" +#include "txNodeSet.h" class txForwardContext : public txIEvalContext { public: txForwardContext(txIMatchContext* aContext, Node* aContextNode, - NodeSet* aContextNodeSet) : mContext(aContextNode), - mContextSet(aContextNodeSet), - mInner(aContext) + txNodeSet* aContextNodeSet) + : mInner(aContext), + mContextNode(aContextNode), + mContextSet(aContextNodeSet) {} ~txForwardContext() {} @@ -57,9 +58,9 @@ public: TX_DECL_EVAL_CONTEXT; private: - Node* mContext; - nsRefPtr mContextSet; txIMatchContext* mInner; + Node* mContextNode; + nsRefPtr mContextSet; }; #endif // __TX_XPATH_CONTEXT diff --git a/mozilla/extensions/transformiix/source/xpath/txNodeSetContext.cpp b/mozilla/extensions/transformiix/source/xpath/txNodeSetContext.cpp index 489ab585bba..87becdf3c26 100644 --- a/mozilla/extensions/transformiix/source/xpath/txNodeSetContext.cpp +++ b/mozilla/extensions/transformiix/source/xpath/txNodeSetContext.cpp @@ -37,7 +37,7 @@ * ***** END LICENSE BLOCK ***** */ #include "txNodeSetContext.h" -#include "NodeSet.h" +#include "txNodeSet.h" Node* txNodeSetContext::getContextNode() { diff --git a/mozilla/extensions/transformiix/source/xpath/txNodeSetContext.h b/mozilla/extensions/transformiix/source/xpath/txNodeSetContext.h index 6458976f8e2..dd3767c59f4 100644 --- a/mozilla/extensions/transformiix/source/xpath/txNodeSetContext.h +++ b/mozilla/extensions/transformiix/source/xpath/txNodeSetContext.h @@ -40,13 +40,13 @@ #define __TX_XPATH_SET_CONTEXT #include "txIXPathContext.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "nsAutoPtr.h" class txNodeSetContext : public txIEvalContext { public: - txNodeSetContext(NodeSet* aContextNodeSet, txIMatchContext* aContext) + txNodeSetContext(txNodeSet* aContextNodeSet, txIMatchContext* aContext) : mContextSet(aContextNodeSet), mPosition(0), mInner(aContext) { } @@ -74,7 +74,7 @@ public: TX_DECL_EVAL_CONTEXT; protected: - nsRefPtr mContextSet; + nsRefPtr mContextSet; PRUint32 mPosition; txIMatchContext* mInner; }; diff --git a/mozilla/extensions/transformiix/source/xpath/txResultRecycler.cpp b/mozilla/extensions/transformiix/source/xpath/txResultRecycler.cpp index 4f09ee877ca..0d2322c591c 100644 --- a/mozilla/extensions/transformiix/source/xpath/txResultRecycler.cpp +++ b/mozilla/extensions/transformiix/source/xpath/txResultRecycler.cpp @@ -38,7 +38,7 @@ #include "txResultRecycler.h" #include "ExprResult.h" -#include "NodeSet.h" +#include "txNodeSet.h" txResultRecycler::txResultRecycler() : mEmptyStringResult(nsnull), @@ -55,7 +55,7 @@ txResultRecycler::~txResultRecycler() } txStackIterator nodesetIter(&mNodeSetResults); while (nodesetIter.hasNext()) { - delete NS_STATIC_CAST(NodeSet*, nodesetIter.next()); + delete NS_STATIC_CAST(txNodeSet*, nodesetIter.next()); } txStackIterator numberIter(&mNumberResults); while (numberIter.hasNext()) { @@ -111,7 +111,7 @@ txResultRecycler::recycle(txAExprResult* aResult) } case txAExprResult::NODESET: { - rv = mNodeSetResults.push(NS_STATIC_CAST(NodeSet*, aResult)); + rv = mNodeSetResults.push(NS_STATIC_CAST(txNodeSet*, aResult)); if (NS_FAILED(rv)) { delete aResult; } @@ -177,14 +177,14 @@ txResultRecycler::getEmptyStringResult(txAExprResult** aResult) } nsresult -txResultRecycler::getNodeSet(NodeSet** aResult) +txResultRecycler::getNodeSet(txNodeSet** aResult) { if (mNodeSetResults.isEmpty()) { - *aResult = new NodeSet(this); + *aResult = new txNodeSet(this); NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY); } else { - *aResult = NS_STATIC_CAST(NodeSet*, mNodeSetResults.pop()); + *aResult = NS_STATIC_CAST(txNodeSet*, mNodeSetResults.pop()); (*aResult)->clear(); (*aResult)->mRecycler = this; } @@ -194,14 +194,14 @@ txResultRecycler::getNodeSet(NodeSet** aResult) } nsresult -txResultRecycler::getNodeSet(NodeSet* aNodeSet, NodeSet** aResult) +txResultRecycler::getNodeSet(txNodeSet* aNodeSet, txNodeSet** aResult) { if (mNodeSetResults.isEmpty()) { - *aResult = new NodeSet(*aNodeSet, this); + *aResult = new txNodeSet(*aNodeSet, this); NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY); } else { - *aResult = NS_STATIC_CAST(NodeSet*, mNodeSetResults.pop()); + *aResult = NS_STATIC_CAST(txNodeSet*, mNodeSetResults.pop()); (*aResult)->clear(); (*aResult)->append(aNodeSet); (*aResult)->mRecycler = this; @@ -215,11 +215,11 @@ nsresult txResultRecycler::getNodeSet(Node* aNode, txAExprResult** aResult) { if (mNodeSetResults.isEmpty()) { - *aResult = new NodeSet(aNode, this); + *aResult = new txNodeSet(aNode, this); NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY); } else { - NodeSet* nodes = NS_STATIC_CAST(NodeSet*, mNodeSetResults.pop()); + txNodeSet* nodes = NS_STATIC_CAST(txNodeSet*, mNodeSetResults.pop()); nodes->clear(); nodes->append(aNode); nodes->mRecycler = this; @@ -231,14 +231,14 @@ txResultRecycler::getNodeSet(Node* aNode, txAExprResult** aResult) } nsresult -txResultRecycler::getNodeSet(Node* aNode, NodeSet** aResult) +txResultRecycler::getNodeSet(Node* aNode, txNodeSet** aResult) { if (mNodeSetResults.isEmpty()) { - *aResult = new NodeSet(aNode, this); + *aResult = new txNodeSet(aNode, this); NS_ENSURE_TRUE(*aResult, NS_ERROR_OUT_OF_MEMORY); } else { - *aResult = NS_STATIC_CAST(NodeSet*, mNodeSetResults.pop()); + *aResult = NS_STATIC_CAST(txNodeSet*, mNodeSetResults.pop()); (*aResult)->clear(); (*aResult)->append(aNode); (*aResult)->mRecycler = this; @@ -275,7 +275,7 @@ txResultRecycler::getBoolResult(PRBool aValue, txAExprResult** aResult) } nsresult -txResultRecycler::getNonSharedNodeSet(NodeSet* aNodeSet, NodeSet** aResult) +txResultRecycler::getNonSharedNodeSet(txNodeSet* aNodeSet, txNodeSet** aResult) { if (aNodeSet->mRefCnt > 1) { return getNodeSet(aNodeSet, aResult); diff --git a/mozilla/extensions/transformiix/source/xpath/txResultRecycler.h b/mozilla/extensions/transformiix/source/xpath/txResultRecycler.h index f2e82cfedff..01cbaebc981 100644 --- a/mozilla/extensions/transformiix/source/xpath/txResultRecycler.h +++ b/mozilla/extensions/transformiix/source/xpath/txResultRecycler.h @@ -44,7 +44,7 @@ class txAExprResult; class StringResult; -class NodeSet; +class txNodeSet; class Node; class NumberResult; class BooleanResult; @@ -80,10 +80,10 @@ public: */ nsresult getStringResult(StringResult** aResult); nsresult getStringResult(const nsAString& aValue, txAExprResult** aResult); - nsresult getNodeSet(NodeSet** aResult); - nsresult getNodeSet(NodeSet* aNodeSet, NodeSet** aResult); + nsresult getNodeSet(txNodeSet** aResult); + nsresult getNodeSet(txNodeSet* aNodeSet, txNodeSet** aResult); nsresult getNodeSet(Node* aNode, txAExprResult** aResult); - nsresult getNodeSet(Node* aNode, NodeSet** aResult); + nsresult getNodeSet(Node* aNode, txNodeSet** aResult); nsresult getNumberResult(double aValue, txAExprResult** aResult); /** @@ -96,7 +96,7 @@ public: /** * Functions that return non-shared resultsobjects */ - nsresult getNonSharedNodeSet(NodeSet* aNodeSet, NodeSet** aResult); + nsresult getNonSharedNodeSet(txNodeSet* aNodeSet, txNodeSet** aResult); private: nsAutoRefCnt mRefCnt; diff --git a/mozilla/extensions/transformiix/source/xslt/functions/DocumentFunctionCall.cpp b/mozilla/extensions/transformiix/source/xslt/functions/DocumentFunctionCall.cpp index 17c26a59b94..d93a5deb8ee 100644 --- a/mozilla/extensions/transformiix/source/xslt/functions/DocumentFunctionCall.cpp +++ b/mozilla/extensions/transformiix/source/xslt/functions/DocumentFunctionCall.cpp @@ -65,7 +65,7 @@ DocumentFunctionCall::evaluate(txIEvalContext* aContext, txExecutionState* es = NS_STATIC_CAST(txExecutionState*, aContext->getPrivateContext()); - nsRefPtr nodeSet; + nsRefPtr nodeSet; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(nodeSet)); NS_ENSURE_SUCCESS(rv, rv); @@ -86,7 +86,7 @@ DocumentFunctionCall::evaluate(txIEvalContext* aContext, if (iter.hasNext()) { // We have 2 arguments, get baseURI from the first node // in the resulting nodeset - nsRefPtr nodeSet2; + nsRefPtr nodeSet2; rv = evaluateToNodeSet(NS_STATIC_CAST(Expr*, iter.next()), aContext, getter_AddRefs(nodeSet2)); NS_ENSURE_SUCCESS(rv, rv); @@ -103,11 +103,11 @@ DocumentFunctionCall::evaluate(txIEvalContext* aContext, if (exprResult1->getResultType() == txAExprResult::NODESET) { // The first argument is a NodeSet, iterate on its nodes - NodeSet* nodeSet1 = NS_STATIC_CAST(NodeSet*, - NS_STATIC_CAST(txAExprResult*, - exprResult1)); - int i; - for (i = 0; i < nodeSet1->size(); i++) { + txNodeSet* nodeSet1 = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprResult1)); + PRInt32 i; + for (i = 0; i < nodeSet1->size(); ++i) { Node* node = nodeSet1->get(i); nsAutoString uriStr; XMLDOMUtils::getNodeValue(node, uriStr); @@ -121,20 +121,22 @@ DocumentFunctionCall::evaluate(txIEvalContext* aContext, nodeSet->add(loadNode); } } - } - else { - // The first argument is not a NodeSet - nsAutoString uriStr; - exprResult1->stringValue(uriStr); - nsAString* base = baseURISet ? &baseURI : &mBaseURI; - Node* loadNode = es->retrieveDocument(uriStr, *base); - if (loadNode) { - nodeSet->add(loadNode); - } + + NS_ADDREF(*aResult = nodeSet); + + return NS_OK; } - *aResult = nodeSet; - NS_ADDREF(*aResult); + // The first argument is not a NodeSet + nsAutoString uriStr; + exprResult1->stringValue(uriStr); + nsAString* base = baseURISet ? &baseURI : &mBaseURI; + Node* loadNode = es->retrieveDocument(uriStr, *base); + if (loadNode) { + nodeSet->add(loadNode); + } + + NS_ADDREF(*aResult = nodeSet); return NS_OK; } diff --git a/mozilla/extensions/transformiix/source/xslt/functions/GenerateIdFunctionCall.cpp b/mozilla/extensions/transformiix/source/xslt/functions/GenerateIdFunctionCall.cpp index 6584bf99f9c..fa743d1de70 100644 --- a/mozilla/extensions/transformiix/source/xslt/functions/GenerateIdFunctionCall.cpp +++ b/mozilla/extensions/transformiix/source/xslt/functions/GenerateIdFunctionCall.cpp @@ -26,7 +26,7 @@ #include "txIXPathContext.h" #include "XSLTFunctions.h" #include "prprf.h" -#include "NodeSet.h" +#include "txNodeSet.h" /* Implementation of XSLT 1.0 extension function: generate-id @@ -78,9 +78,9 @@ GenerateIdFunctionCall::evaluate(txIEvalContext* aContext, return NS_ERROR_XSLT_NODESET_EXPECTED; } - NodeSet* nodes = NS_STATIC_CAST(NodeSet*, - NS_STATIC_CAST(txAExprResult*, - exprResult)); + txNodeSet* nodes = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprResult)); if (nodes->isEmpty()) { aContext->recycler()->getEmptyStringResult(aResult); diff --git a/mozilla/extensions/transformiix/source/xslt/functions/txKey.h b/mozilla/extensions/transformiix/source/xslt/functions/txKey.h index 6559056652f..a1c1d61e107 100644 --- a/mozilla/extensions/transformiix/source/xslt/functions/txKey.h +++ b/mozilla/extensions/transformiix/source/xslt/functions/txKey.h @@ -40,10 +40,10 @@ #define txKey_h__ #include "nsDoubleHashtable.h" -#include "XMLUtils.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "List.h" #include "txXSLTPatterns.h" +#include "XMLUtils.h" class txPattern; class Expr; @@ -70,7 +70,7 @@ struct txKeyValueHashEntry : public PLDHashEntryHdr { txKeyValueHashEntry(const void* aKey) : mKey(*NS_STATIC_CAST(const txKeyValueHashKey*, aKey)), - mNodeSet(new NodeSet(nsnull)) + mNodeSet(new txNodeSet(nsnull)) { } @@ -80,7 +80,7 @@ struct txKeyValueHashEntry : public PLDHashEntryHdr static PLDHashNumber HashKey(const void* aKey); txKeyValueHashKey mKey; - nsRefPtr mNodeSet; + nsRefPtr mNodeSet; }; DECL_DHASH_WRAPPER(txKeyValueHash, txKeyValueHashEntry, txKeyValueHashKey&) @@ -207,7 +207,7 @@ public: const nsAString& aKeyValue, PRBool aIndexIfNotFound, txExecutionState& aEs, - NodeSet** aResult); + txNodeSet** aResult); private: // Hash of all indexed key-values @@ -220,7 +220,7 @@ private: const txExpandedNameMap& mKeys; // Empty nodeset returned if no key is found - nsRefPtr mEmptyNodeSet; + nsRefPtr mEmptyNodeSet; }; diff --git a/mozilla/extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp b/mozilla/extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp index 02835141cf1..46b9f5a8d2b 100644 --- a/mozilla/extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp +++ b/mozilla/extensions/transformiix/source/xslt/functions/txKeyFunctionCall.cpp @@ -77,20 +77,21 @@ txKeyFunctionCall::evaluate(txIEvalContext* aContext, txAExprResult** aResult) else contextDoc = contextNode->getOwnerDocument(); - nsRefPtr res; - NodeSet* nodeSet; + nsRefPtr res; + txNodeSet* nodeSet; if (exprResult->getResultType() == txAExprResult::NODESET && - (nodeSet = NS_STATIC_CAST(NodeSet*, + (nodeSet = NS_STATIC_CAST(txNodeSet*, NS_STATIC_CAST(txAExprResult*, exprResult)))->size() > 1) { rv = aContext->recycler()->getNodeSet(getter_AddRefs(res)); NS_ENSURE_SUCCESS(rv, rv); - int i; + PRInt32 i; for (i = 0; i < nodeSet->size(); ++i) { nsAutoString val; XMLDOMUtils::getNodeValue(nodeSet->get(i), val); - nsRefPtr nodes; + + nsRefPtr nodes; rv = es->getKeyNodes(keyName, contextDoc, val, i == 0, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -192,7 +193,7 @@ txKeyHash::getKeyNodes(const txExpandedName& aKeyName, const nsAString& aKeyValue, PRBool aIndexIfNotFound, txExecutionState& aEs, - NodeSet** aResult) + txNodeSet** aResult) { NS_ENSURE_TRUE(mKeyValues.mHashTable.ops && mIndexedKeys.mHashTable.ops, NS_ERROR_OUT_OF_MEMORY); @@ -203,6 +204,7 @@ txKeyHash::getKeyNodes(const txExpandedName& aKeyName, if (valueEntry) { *aResult = valueEntry->mNodeSet; NS_ADDREF(*aResult); + return NS_OK; } @@ -215,6 +217,7 @@ txKeyHash::getKeyNodes(const txExpandedName& aKeyName, // indexed, so don't bother investigating. *aResult = mEmptyNodeSet; NS_ADDREF(*aResult); + return NS_OK; } @@ -265,7 +268,7 @@ txKeyHash::init() rv = mIndexedKeys.Init(1); NS_ENSURE_SUCCESS(rv, rv); - mEmptyNodeSet = new NodeSet(nsnull); + mEmptyNodeSet = new txNodeSet(nsnull); NS_ENSURE_TRUE(mEmptyNodeSet, NS_ERROR_OUT_OF_MEMORY); return NS_OK; @@ -366,18 +369,19 @@ nsresult txXSLKey::indexTree(Node* aNode, txKeyValueHashKey& aKey, * @param aKeyValueHash Hash to add values to * @param aEs txExecutionState to use for XPath evaluation */ -nsresult txXSLKey::testNode(Node* aNode, txKeyValueHashKey& aKey, - txKeyValueHash& aKeyValueHash, txExecutionState& aEs) +nsresult txXSLKey::testNode(Node* aNode, + txKeyValueHashKey& aKey, + txKeyValueHash& aKeyValueHash, + txExecutionState& aEs) { - nsresult rv = NS_OK; nsAutoString val; txListIterator iter(&mKeys); while (iter.hasNext()) { - Key* key=(Key*)iter.next(); + Key* key = (Key*)iter.next(); if (key->matchPattern->matches(aNode, &aEs)) { txSingleNodeContext evalContext(aNode, &aEs); - rv = aEs.pushEvalContext(&evalContext); + nsresult rv = aEs.pushEvalContext(&evalContext); NS_ENSURE_SUCCESS(rv, rv); nsRefPtr exprResult; @@ -388,9 +392,9 @@ nsresult txXSLKey::testNode(Node* aNode, txKeyValueHashKey& aKey, aEs.popEvalContext(); if (exprResult->getResultType() == txAExprResult::NODESET) { - NodeSet* res = NS_STATIC_CAST(NodeSet*, - NS_STATIC_CAST(txAExprResult*, - exprResult)); + txNodeSet* res = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprResult)); for (int i=0; isize(); i++) { val.Truncate(); XMLDOMUtils::getNodeValue(res->get(i), val); diff --git a/mozilla/extensions/transformiix/source/xslt/txExecutionState.cpp b/mozilla/extensions/transformiix/source/xslt/txExecutionState.cpp index 3856838e9c3..fcaf2c559a7 100644 --- a/mozilla/extensions/transformiix/source/xslt/txExecutionState.cpp +++ b/mozilla/extensions/transformiix/source/xslt/txExecutionState.cpp @@ -521,15 +521,16 @@ txExecutionState::retrieveDocument(const nsAString& uri, if (NS_FAILED(rv) || !xmlDoc) { receiveError(NS_LITERAL_STRING("Couldn't load document '") + docUrl + NS_LITERAL_STRING("': ") + errMsg, rv); - return NULL; + return nsnull; } // add to list of documents mLoadedDocuments.Add(xmlDoc); } // return element with supplied id if supplied - if (!frag.IsEmpty()) + if (!frag.IsEmpty()) { return xmlDoc->getElementById(frag); + } return xmlDoc; } @@ -539,7 +540,7 @@ txExecutionState::getKeyNodes(const txExpandedName& aKeyName, Document* aDocument, const nsAString& aKeyValue, PRBool aIndexIfNotFound, - NodeSet** aResult) + txNodeSet** aResult) { return mKeyHash.getKeyNodes(aKeyName, aDocument, aKeyValue, aIndexIfNotFound, *this, aResult); diff --git a/mozilla/extensions/transformiix/source/xslt/txExecutionState.h b/mozilla/extensions/transformiix/source/xslt/txExecutionState.h index 147e2acba34..97a27594b60 100644 --- a/mozilla/extensions/transformiix/source/xslt/txExecutionState.h +++ b/mozilla/extensions/transformiix/source/xslt/txExecutionState.h @@ -55,8 +55,8 @@ class txInstruction; class txIOutputHandlerFactory; class txExpandedNameMap; - -class txLoadedDocumentEntry : public PLDHashStringEntry { +class txLoadedDocumentEntry : public PLDHashStringEntry +{ public: txLoadedDocumentEntry(const void* aKey) : PLDHashStringEntry(aKey) { @@ -126,7 +126,7 @@ public: Node* retrieveDocument(const nsAString& uri, const nsAString& baseUri); nsresult getKeyNodes(const txExpandedName& aKeyName, Document* aDocument, const nsAString& aKeyValue, PRBool aIndexIfNotFound, - NodeSet** aResult); + txNodeSet** aResult); TemplateRule* getCurrentTemplateRule(); // state-modification functions diff --git a/mozilla/extensions/transformiix/source/xslt/txInstructions.cpp b/mozilla/extensions/transformiix/source/xslt/txInstructions.cpp index 01840f558c5..cc70f4c7b47 100644 --- a/mozilla/extensions/transformiix/source/xslt/txInstructions.cpp +++ b/mozilla/extensions/transformiix/source/xslt/txInstructions.cpp @@ -434,13 +434,12 @@ txCopyOf::execute(txExecutionState& aEs) switch (exprRes->getResultType()) { case txAExprResult::NODESET: { - NodeSet* nodes = NS_STATIC_CAST(NodeSet*, - NS_STATIC_CAST(txAExprResult*, - exprRes)); - int i; + txNodeSet* nodes = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprRes)); + PRInt32 i; for (i = 0; i < nodes->size(); ++i) { - Node* node = nodes->get(i); - rv = copyNode(node, aEs); + rv = copyNode(nodes->get(i), aEs); NS_ENSURE_SUCCESS(rv, rv); } break; @@ -702,8 +701,9 @@ txPushNewContext::execute(txExecutionState& aEs) return NS_ERROR_XSLT_NODESET_EXPECTED; } - NodeSet* nodes = - NS_STATIC_CAST(NodeSet*, NS_STATIC_CAST(txAExprResult*, exprRes)); + txNodeSet* nodes = NS_STATIC_CAST(txNodeSet*, + NS_STATIC_CAST(txAExprResult*, + exprRes)); if (nodes->isEmpty()) { aEs.gotoInstruction(mBailTarget); @@ -721,7 +721,7 @@ txPushNewContext::execute(txExecutionState& aEs) aEs.getEvalContext()); NS_ENSURE_SUCCESS(rv, rv); } - nsRefPtr sortedNodes; + nsRefPtr sortedNodes; rv = sorter.sortNodeSet(nodes, &aEs, getter_AddRefs(sortedNodes)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/mozilla/extensions/transformiix/source/xslt/txXSLTPatterns.cpp b/mozilla/extensions/transformiix/source/xslt/txXSLTPatterns.cpp index 7b89d6388e4..3d2fe186b7f 100644 --- a/mozilla/extensions/transformiix/source/xslt/txXSLTPatterns.cpp +++ b/mozilla/extensions/transformiix/source/xslt/txXSLTPatterns.cpp @@ -413,7 +413,7 @@ MBool txKeyPattern::matches(Node* aNode, txIMatchContext* aContext) contextDoc = (Document*)aNode; else contextDoc = aNode->getOwnerDocument(); - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = es->getKeyNodes(mName, contextDoc, mValue, PR_TRUE, getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, PR_FALSE); @@ -493,7 +493,7 @@ MBool txStepPattern::matches(Node* aNode, txIMatchContext* aContext) */ // Create the context node set for evaluating the predicates - nsRefPtr nodes; + nsRefPtr nodes; nsresult rv = aContext->recycler()->getNodeSet(getter_AddRefs(nodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -520,7 +520,7 @@ MBool txStepPattern::matches(Node* aNode, txIMatchContext* aContext) txListIterator iter(&predicates); Expr* predicate = (Expr*)iter.next(); - nsRefPtr newNodes; + nsRefPtr newNodes; rv = aContext->recycler()->getNodeSet(getter_AddRefs(newNodes)); NS_ENSURE_SUCCESS(rv, rv); diff --git a/mozilla/extensions/transformiix/source/xslt/util/txNodeSorter.cpp b/mozilla/extensions/transformiix/source/xslt/util/txNodeSorter.cpp index 22d7e59544b..580bc4c80a1 100644 --- a/mozilla/extensions/transformiix/source/xslt/util/txNodeSorter.cpp +++ b/mozilla/extensions/transformiix/source/xslt/util/txNodeSorter.cpp @@ -45,7 +45,7 @@ #include "ExprResult.h" #include "Expr.h" #include "txStringUtils.h" -#include "NodeSet.h" +#include "txNodeSet.h" #include "prmem.h" #include "nsQuickSort.h" @@ -168,8 +168,8 @@ txNodeSorter::addSortElement(Expr* aSelectExpr, Expr* aLangExpr, } nsresult -txNodeSorter::sortNodeSet(NodeSet* aNodes, txExecutionState* aEs, - NodeSet** aResult) +txNodeSorter::sortNodeSet(txNodeSet* aNodes, txExecutionState* aEs, + txNodeSet** aResult) { if (mNKeys == 0 || aNodes->isEmpty()) { NS_ADDREF(*aResult = aNodes); @@ -179,7 +179,7 @@ txNodeSorter::sortNodeSet(NodeSet* aNodes, txExecutionState* aEs, *aResult = nsnull; - nsRefPtr sortedNodes; + nsRefPtr sortedNodes; nsresult rv = aEs->recycler()->getNodeSet(getter_AddRefs(sortedNodes)); NS_ENSURE_SUCCESS(rv, rv); @@ -250,7 +250,6 @@ txNodeSorter::compareNodes(const void* aIndexA, const void* aIndexB, SortData* sortData = NS_STATIC_CAST(SortData*, aSortData); NS_ENSURE_SUCCESS(sortData->mRv, -1); - nsresult rv = NS_OK; txListIterator iter(&sortData->mNodeSorter->mSortKeys); PRUint32 indexA = *NS_STATIC_CAST(const PRUint32*, aIndexA); PRUint32 indexB = *NS_STATIC_CAST(const PRUint32*, aIndexB); diff --git a/mozilla/extensions/transformiix/source/xslt/util/txNodeSorter.h b/mozilla/extensions/transformiix/source/xslt/util/txNodeSorter.h index 08e2b6a0260..452a3393a37 100644 --- a/mozilla/extensions/transformiix/source/xslt/util/txNodeSorter.h +++ b/mozilla/extensions/transformiix/source/xslt/util/txNodeSorter.h @@ -47,8 +47,8 @@ class Element; class Expr; class Node; -class NodeSet; class txExecutionState; +class txNodeSet; class TxObject; class txXPathResultComparator; class txIEvalContext; @@ -67,8 +67,8 @@ public: nsresult addSortElement(Expr* aSelectExpr, Expr* aLangExpr, Expr* aDataTypeExpr, Expr* aOrderExpr, Expr* aCaseOrderExpr, txIEvalContext* aContext); - nsresult sortNodeSet(NodeSet* aNodes, txExecutionState* aEs, - NodeSet** aResult); + nsresult sortNodeSet(txNodeSet* aNodes, txExecutionState* aEs, + txNodeSet** aResult); private: struct SortData