#include "../config/pathan_config.h" /* * Copyright (c) 2001, DecisionSoft Limited All rights reserved. * Please see LICENSE.TXT for more information. */ #include #include #include #include #include #include #include DataItemLiteral::DataItemLiteral(const ATStringOrDerived* s, XPath2MemoryManager* memMgr) : DataItemImpl(memMgr) { _item = s; setType(DataItem::LITERAL); } DataItemLiteral::DataItemLiteral(const ATDecimalOrDerived* d, XPath2MemoryManager* memMgr) : DataItemImpl(memMgr) { _item = d; setType(DataItem::LITERAL); } DataItemLiteral::DataItemLiteral(const ATDoubleOrDerived* d, XPath2MemoryManager* memMgr) : DataItemImpl(memMgr) { _item = d; setType(DataItem::LITERAL); } DataItemLiteral::~DataItemLiteral() { //no-op } DataItem* DataItemLiteral::staticResolution(StaticContext *context, StaticResolutionContext *src) { DataItem *result = new (getMemoryManager()) DataItemSequence(_item, getMemoryManager()); result->addPredicates(getPredicates()); return result->staticResolution(context, src); } Sequence DataItemLiteral::collapseTreeInternal(DynamicContext* context, int flags) const { return Sequence(_item, context->getMemoryManager()); }