void ForClause::evaluateToSequenceReceiver(const DynamicContext::Ptr &context) const { Item::Iterator::Ptr it; const Item::Iterator::Ptr source(m_operand1->evaluateSequence(context)); riggPositionalVariable(context, source); Item next(source->next()); while(next) { context->setRangeVariable(m_varSlot, next); m_operand2->evaluateToSequenceReceiver(context); next = source->next(); } }
Item QuantifiedExpression::mapToItem(const Item &item, const DynamicContext::Ptr &context) const { context->setRangeVariable(m_varSlot, item); return item; }
Item::Iterator::Ptr ForClause::mapToSequence(const Item &item, const DynamicContext::Ptr &context) const { context->setRangeVariable(m_varSlot, item); return m_operand2->evaluateSequence(context); }
Item ForClause::mapToItem(const Item &item, const DynamicContext::Ptr &context) const { context->setRangeVariable(m_varSlot, item); return m_operand2->evaluateSingleton(context); }