/* * Copyright (c) 2001, DecisionSoft Limited All rights reserved. * Please see LICENSE.TXT for more information. */ #ifndef _DATAITEMCASTABLEAS_HPP #define _DATAITEMCASTABLEAS_HPP #include #include class SequenceType; class PATHAN_EXPORT DataItemCastableAs : public DataItemImpl { public: DataItemCastableAs(DataItem* expr, SequenceType* exprType, XPath2MemoryManager* memMgr); virtual Sequence collapseTreeInternal(DynamicContext* context, int flags=0) const; /** * Called during static analysis to determine if statically correct. If * not an appropriate error is thrown. */ virtual DataItem* staticResolution(StaticContext *context, StaticResolutionContext *src); const DataItem *getExpression() const; const SequenceType *getSequenceType() const; void setExpression(DataItem *item); protected: DataItem* _expr; SequenceType* _exprType; }; #endif // _DATAITEMCASTABLEAS_HPP