22 #ifndef _STATICANALYSIS_HPP
23 #define _STATICANALYSIS_HPP
27 #include <xqilla/framework/XQillaExport.hpp>
44 : uri(u), name(n), prev(p) {}
46 const XMLCh *
uri, *name;
60 void forceNoFolding(
bool value);
61 bool isNoFoldingForced()
const;
63 void contextItemUsed(
bool value);
64 void contextPositionUsed(
bool value);
65 void contextSizeUsed(
bool value);
66 bool isContextItemUsed()
const;
67 bool isContextPositionUsed()
const;
68 bool isContextSizeUsed()
const;
70 bool areContextFlagsUsed()
const;
72 void currentTimeUsed(
bool value);
73 void implicitTimezoneUsed(
bool value);
75 void availableDocumentsUsed(
bool value);
76 void availableCollectionsUsed(
bool value);
77 bool areDocsOrCollectionsUsed()
const;
79 void variableUsed(
const XMLCh *namespaceURI,
const XMLCh *name);
80 bool removeVariable(
const XMLCh *namespaceURI,
const XMLCh *name);
81 bool isVariableUsed(
const XMLCh *namespaceURI,
const XMLCh *name)
const;
87 void addExceptVariable(
const XMLCh *namespaceURI,
const XMLCh *name,
const StaticAnalysis &o);
91 bool isUsedExceptContextFlags()
const;
93 void creative(
bool value);
94 bool isCreative()
const;
96 void updating(
bool value);
97 bool isUpdating()
const;
98 void possiblyUpdating(
bool value);
99 bool isPossiblyUpdating()
const;
117 unsigned int getProperties()
const;
118 void setProperties(
unsigned int props);
123 std::string toString()
const;
130 bool _contextPosition;
133 bool _implicitTimezone;
134 bool _availableDocuments;
135 bool _availableCollections;
136 bool _forceNoFolding;
139 bool _possiblyUpdating;
141 unsigned int _properties;
144 VarEntry *_dynamicVariables;