SourceForge.net Logo
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Examples

StaticAnalysis Class Reference

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

#include <StaticAnalysis.hpp>

List of all members.

Public Types

enum  Properties {
  DOCORDER = 0x001, PEER = 0x002, SUBTREE = 0x004, GROUPED = 0x008,
  SAMEDOC = 0x010, ONENODE = 0x020, SELF = 0x040, FORWARDREF = 0x080,
  UNDEFINEDVAR = 0x100
}
 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 clear ()
 Clears all the information in this StaticAnalysis.
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
VarEntryvariablesUsed () 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


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

Enumeration values:
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.
FORWARDREF  This is a forward reference for a global variable that is declared later.
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::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 XMLCh *  namespaceURI,
const XMLCh *  name
const
 

void StaticAnalysis::possiblyUpdating bool  value  ) 
 

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
 


The documentation for this class was generated from the following file:
Generated on Fri Sep 25 06:55:41 2009 for XQilla Simple API by  doxygen 1.3.9.1