SourceForge.net Logo

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 StaticTypegetStaticType () const
StaticTypegetStaticType ()
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

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:

Generated on 8 Jul 2015 for XQilla Simple API by  doxygen 1.6.1