Records access to various parts of the context during static resolution. More...
#include <StaticAnalysis.hpp>
Classes | |
class | VarEntry |
Public Types | |
enum | Properties { DOCORDER = 0x001, PEER = 0x002, SUBTREE = 0x004, GROUPED = 0x008, SAMEDOC = 0x010, ONENODE = 0x020, SELF = 0x040, UNDEFINEDVAR = 0x080 } |
Properties that allow optimisation regarding sorting or not. More... | |
Public Member Functions | |
StaticAnalysis (XPath2MemoryManager *memMgr) | |
StaticAnalysis (const StaticAnalysis &o, XPath2MemoryManager *memMgr) | |
void | copy (const StaticAnalysis &o) |
void | release () |
void | clear () |
Clears all the information in this StaticAnalysis. More... | |
void | clearExceptType () |
void | forceNoFolding (bool value) |
Overrides all the other flags, and never allows this sub-expression to be constant folded. More... | |
bool | isNoFoldingForced () const |
void | contextItemUsed (bool value) |
void | contextPositionUsed (bool value) |
void | contextSizeUsed (bool value) |
bool | isContextItemUsed () const |
bool | isContextPositionUsed () const |
bool | isContextSizeUsed () const |
bool | areContextFlagsUsed () const |
Returns true if any of the context item flags have been used. More... | |
void | currentTimeUsed (bool value) |
void | implicitTimezoneUsed (bool value) |
void | availableDocumentsUsed (bool value) |
void | availableCollectionsUsed (bool value) |
bool | areDocsOrCollectionsUsed () const |
void | variableUsed (const XMLCh *namespaceURI, const XMLCh *name) |
bool | removeVariable (const XMLCh *namespaceURI, const XMLCh *name) |
bool | isVariableUsed (const XMLCh *namespaceURI, const XMLCh *name) const |
bool | isVariableUsed () const |
VarEntry ** | variablesUsed () const |
void | add (const StaticAnalysis &o) |
Sets the members of this StaticAnalysis from the given StaticAnalysis. More... | |
void | addExceptContextFlags (const StaticAnalysis &o) |
void | addExceptVariable (const XMLCh *namespaceURI, const XMLCh *name, const StaticAnalysis &o) |
bool | isUsed () const |
Returns true if flags are set, or variables have been used. More... | |
bool | isUsedExceptContextFlags () const |
void | creative (bool value) |
bool | isCreative () const |
void | updating (bool value) |
bool | isUpdating () const |
void | possiblyUpdating (bool value) |
bool | isPossiblyUpdating () const |
unsigned int | getProperties () const |
void | setProperties (unsigned int props) |
const StaticType & | getStaticType () const |
StaticType & | getStaticType () |
std::string | toString () const |
Static Public Attributes | |
static const int | HASH_SIZE = 13 |
Records access to various parts of the context during static resolution.
Properties that allow optimisation regarding sorting or not.
The values are OR'd as flags, so they must be distinct bits
StaticAnalysis::StaticAnalysis | ( | XPath2MemoryManager * | memMgr | ) |
StaticAnalysis::StaticAnalysis | ( | const StaticAnalysis & | o, |
XPath2MemoryManager * | memMgr | ||
) |
void StaticAnalysis::add | ( | const StaticAnalysis & | o | ) |
Sets the members of this StaticAnalysis from the given StaticAnalysis.
void StaticAnalysis::addExceptContextFlags | ( | const StaticAnalysis & | o | ) |
void StaticAnalysis::addExceptVariable | ( | const XMLCh * | namespaceURI, |
const XMLCh * | name, | ||
const StaticAnalysis & | o | ||
) |
bool StaticAnalysis::areContextFlagsUsed | ( | ) | const |
Returns true if any of the context item flags have been used.
bool StaticAnalysis::areDocsOrCollectionsUsed | ( | ) | const |
void StaticAnalysis::availableCollectionsUsed | ( | bool | value | ) |
void StaticAnalysis::availableDocumentsUsed | ( | bool | value | ) |
void StaticAnalysis::clear | ( | ) |
Clears all the information in this StaticAnalysis.
void StaticAnalysis::clearExceptType | ( | ) |
void StaticAnalysis::contextItemUsed | ( | bool | value | ) |
void StaticAnalysis::contextPositionUsed | ( | bool | value | ) |
void StaticAnalysis::contextSizeUsed | ( | bool | value | ) |
void StaticAnalysis::copy | ( | const StaticAnalysis & | o | ) |
void StaticAnalysis::creative | ( | bool | value | ) |
void StaticAnalysis::currentTimeUsed | ( | bool | value | ) |
void StaticAnalysis::forceNoFolding | ( | bool | value | ) |
Overrides all the other flags, and never allows this sub-expression to be constant folded.
unsigned int StaticAnalysis::getProperties | ( | ) | const |
const StaticType& StaticAnalysis::getStaticType | ( | ) | const |
StaticType& StaticAnalysis::getStaticType | ( | ) |
void StaticAnalysis::implicitTimezoneUsed | ( | bool | value | ) |
bool StaticAnalysis::isContextItemUsed | ( | ) | const |
bool StaticAnalysis::isContextPositionUsed | ( | ) | const |
bool StaticAnalysis::isContextSizeUsed | ( | ) | const |
bool StaticAnalysis::isCreative | ( | ) | const |
bool StaticAnalysis::isNoFoldingForced | ( | ) | const |
bool StaticAnalysis::isPossiblyUpdating | ( | ) | const |
bool StaticAnalysis::isUpdating | ( | ) | const |
bool StaticAnalysis::isUsed | ( | ) | const |
Returns true if flags are set, or variables have been used.
bool StaticAnalysis::isUsedExceptContextFlags | ( | ) | const |
bool StaticAnalysis::isVariableUsed | ( | const XMLCh * | namespaceURI, |
const XMLCh * | name | ||
) | const |
bool StaticAnalysis::isVariableUsed | ( | ) | const |
void StaticAnalysis::possiblyUpdating | ( | bool | value | ) |
void StaticAnalysis::release | ( | ) |
bool StaticAnalysis::removeVariable | ( | const XMLCh * | namespaceURI, |
const XMLCh * | name | ||
) |
void StaticAnalysis::setProperties | ( | unsigned int | props | ) |
std::string StaticAnalysis::toString | ( | ) | const |
void StaticAnalysis::updating | ( | bool | value | ) |
VarEntry** StaticAnalysis::variablesUsed | ( | ) | const |
void StaticAnalysis::variableUsed | ( | const XMLCh * | namespaceURI, |
const XMLCh * | name | ||
) |
|
static |