# XQilla Simple API Documentation

# StaticAnalysis Class Reference

Records access to various parts of the context during static resolution. More...

`#include <StaticAnalysis.hpp>`

List of all members.

## 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.
void | clearExceptType ()
void | forceNoFolding (bool value)
| Overrides all the other flags, and never allows this sub-expression to be constant folded.
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.
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.
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.
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

## Detailed Description

Records access to various parts of the context during static resolution.

## Member Enumeration Documentation

enum StaticAnalysis::Properties

Properties that allow optimisation regarding sorting or not.

The values are OR'd as flags, so they must be distinct bits

Enumerator:

  DOCORDER | Results are returned in document order.
  PEER | Results do not appear in the descendants of other results.
  SUBTREE | Results are members of the set of descendants of the context node.
  GROUPED | Results are grouped by the document they come from.
  SAMEDOC | Results are from the same document as the context node.
  ONENODE | Only ever returns one node.
  SELF | Only ever returns the context node.
  UNDEFINEDVAR | This is a variable that has been undefined.

## Constructor & Destructor Documentation

StaticAnalysis::StaticAnalysis | ( | XPath2MemoryManager * | memMgr | ) |

StaticAnalysis::StaticAnalysis | ( | const StaticAnalysis & | o,
|  | XPath2MemoryManager * | memMgr |
| ) |  |  |

## Member Function Documentation

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

StaticType& StaticAnalysis::getStaticType | ( |  | ) |

const StaticType& StaticAnalysis::getStaticType | ( |  | ) | const

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

bool StaticAnalysis::isVariableUsed | ( | const XMLCh * | namespaceURI,
|  | const XMLCh * | name |
| ) |  |  | 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 |
| ) |  |  |

## Member Data Documentation

const int StaticAnalysis::HASH_SIZE = 13`[static]`

The documentation for this class was generated from the following file:

- StaticAnalysis.hpp