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
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
Member Function Documentation
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 |
( |
|
) |
|
void StaticAnalysis::clearExceptType |
( |
|
) |
|
void StaticAnalysis::contextItemUsed |
( |
bool |
value |
) |
|
void StaticAnalysis::contextPositionUsed |
( |
bool |
value |
) |
|
void StaticAnalysis::contextSizeUsed |
( |
bool |
value |
) |
|
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 |
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
The documentation for this class was generated from the following file: