ASTNode* XQInstanceOf::staticResolution(StaticContext *context) { XPath2MemoryManager *mm = context->getMemoryManager(); _exprType->staticResolution(context); _expr = new (mm) XQTreatAs(_expr, _exprType, mm); _expr->setLocationInfo(this); { AutoNodeSetOrderingReset orderReset(context); _expr = _expr->staticResolution(context); } return this; }
ASTNode* GeneralComp::staticResolution(StaticContext *context) { XPath2MemoryManager *mm = context->getMemoryManager(); xpath1compat_ = context->getXPath1CompatibilityMode(); AutoNodeSetOrderingReset orderReset(context); for(VectorOfASTNodes::iterator i = _args.begin(); i != _args.end(); ++i) { *i = new (mm) XQAtomize(*i, mm); (*i)->setLocationInfo(this); *i = (*i)->staticResolution(context); } collation_ = context->getDefaultCollation(this); return this; }
ASTNode* XQOrderingChange::staticResolution(StaticContext* context) { AutoNodeSetOrderingReset orderReset(context, m_nOrdering); m_pExpr = m_pExpr->staticResolution(context); return this; }
ASTNode* FunctionCount::staticResolution(StaticContext *context) { AutoNodeSetOrderingReset orderReset(context); resolveArguments(context); return this; }