20#ifndef _STATICANALYSIS_HPP
21#define _STATICANALYSIS_HPP
25#include <xqilla/framework/XQillaExport.hpp>
44 void set(
const XMLCh *u,
const XMLCh *n);
45 void set(
const XMLCh *u,
const XMLCh *n,
size_t h);
134 bool _contextPosition;
137 bool _implicitTimezone;
138 bool _availableDocuments;
139 bool _availableCollections;
140 bool _forceNoFolding;
143 bool _possiblyUpdating;
145 unsigned int _properties;
Definition StaticAnalysis.hpp:41
void set(const XMLCh *u, const XMLCh *n)
VarEntry()
Definition StaticAnalysis.hpp:43
void set(const XMLCh *u, const XMLCh *n, size_t h)
const XMLCh * name
Definition StaticAnalysis.hpp:47
VarEntry * prev
Definition StaticAnalysis.hpp:49
const XMLCh * uri
Definition StaticAnalysis.hpp:47
size_t hash
Definition StaticAnalysis.hpp:48
std::string toString() const
static const int HASH_SIZE
Definition StaticAnalysis.hpp:38
void currentTimeUsed(bool value)
void updating(bool value)
bool isContextSizeUsed() const
void implicitTimezoneUsed(bool value)
bool isVariableUsed() const
void addExceptContextFlags(const StaticAnalysis &o)
bool removeVariable(const XMLCh *namespaceURI, const XMLCh *name)
void contextPositionUsed(bool value)
void contextItemUsed(bool value)
void variableUsed(const XMLCh *namespaceURI, const XMLCh *name)
StaticAnalysis(XPath2MemoryManager *memMgr)
VarEntry ** variablesUsed() const
void clear()
Clears all the information in this StaticAnalysis.
bool isUsedExceptContextFlags() const
StaticAnalysis(const StaticAnalysis &o, XPath2MemoryManager *memMgr)
void possiblyUpdating(bool value)
bool areContextFlagsUsed() const
Returns true if any of the context item flags have been used.
void availableCollectionsUsed(bool value)
bool isVariableUsed(const XMLCh *namespaceURI, const XMLCh *name) const
unsigned int getProperties() const
bool isContextPositionUsed() const
bool isUsed() const
Returns true if flags are set, or variables have been used.
void creative(bool value)
bool isNoFoldingForced() const
const StaticType & getStaticType() const
void setProperties(unsigned int props)
Properties
Properties that allow optimisation regarding sorting or not.
Definition StaticAnalysis.hpp:110
@ PEER
Results do not appear in the descendants of other results.
Definition StaticAnalysis.hpp:112
@ UNDEFINEDVAR
This is a variable that has been undefined.
Definition StaticAnalysis.hpp:118
@ SAMEDOC
Results are from the same document as the context node.
Definition StaticAnalysis.hpp:115
@ DOCORDER
Results are returned in document order.
Definition StaticAnalysis.hpp:111
@ SUBTREE
Results are members of the set of descendants of the context node.
Definition StaticAnalysis.hpp:113
@ SELF
Only ever returns the context node.
Definition StaticAnalysis.hpp:117
@ GROUPED
Results are grouped by the document they come from.
Definition StaticAnalysis.hpp:114
@ ONENODE
Only ever returns one node.
Definition StaticAnalysis.hpp:116
void availableDocumentsUsed(bool value)
StaticType & getStaticType()
void add(const StaticAnalysis &o)
Sets the members of this StaticAnalysis from the given StaticAnalysis.
bool isPossiblyUpdating() const
void addExceptVariable(const XMLCh *namespaceURI, const XMLCh *name, const StaticAnalysis &o)
void copy(const StaticAnalysis &o)
bool isContextItemUsed() const
void forceNoFolding(bool value)
Overrides all the other flags, and never allows this sub-expression to be constant folded.
bool areDocsOrCollectionsUsed() const
void contextSizeUsed(bool value)
Class that represents the static type of an expression.
Definition StaticType.hpp:33
Definition XPath2MemoryManager.hpp:46