Defines a class to keep track of a stack for macro arguments. More...
#include <VariablesStack.hpp>

Defines a class to keep track of a stack for macro arguments.
Definition at line 60 of file VariablesStack.hpp.
Definition at line 148 of file VariablesStack.hpp.
Definition at line 146 of file VariablesStack.hpp.
| typedef XalanVector<const ElemVariable*> VariablesStack::RecursionGuardStackType |
Definition at line 147 of file VariablesStack.hpp.
| typedef unsigned long VariablesStack::size_type |
Definition at line 64 of file VariablesStack.hpp.
Definition at line 481 of file VariablesStack.hpp.
| anonymous enum |
Definition at line 489 of file VariablesStack.hpp.
| VariablesStack::VariablesStack | ( | MemoryManager & | theManager | ) | [explicit] |
Constructor for a variable stack.
| VariablesStack::~VariablesStack | ( | ) |
| size_type VariablesStack::getCurrentStackFrameIndex | ( | ) | const [inline] |
Get the top of the stack frame from where a search for a variable or param should take place.
Definition at line 281 of file VariablesStack.hpp.
| size_type VariablesStack::getGlobalStackFrameIndex | ( | ) | const [inline] |
Get the top of the global stack frame.
Definition at line 292 of file VariablesStack.hpp.
| const XObjectPtr VariablesStack::getParamVariable | ( | const XalanQName & | qname, | |
| StylesheetExecutionContext & | executionContext, | |||
| bool & | fNameFound | |||
| ) | [inline] |
Given a name, return a string representing the value, but don't look in the global space.
Since the variable may not yet have been evaluated, this may return a null XObjectPtr.
| theName | name of variable | |
| exeuctionContext | the current execution context | |
| fNameFound | set to true if the name was found, false if not. |
Definition at line 170 of file VariablesStack.hpp.
| size_type VariablesStack::getStackSize | ( | ) | const [inline] |
Definition at line 484 of file VariablesStack.hpp.
| const XObjectPtr VariablesStack::getVariable | ( | const XalanQName & | qname, | |
| StylesheetExecutionContext & | executionContext, | |||
| bool & | fNameFound | |||
| ) | [inline] |
Given a name, find the corresponding XObject.
If the variable exists, but has not yet been evaluated, the variable will be evaluated and the result returned. This may return a null XObjectPtr, if the variable was not found.
| qname | name of variable | |
| exeuctionContext | the current execution context | |
| fNameFound | set to true if the name was found, false if not. |
Definition at line 190 of file VariablesStack.hpp.
| void VariablesStack::markGlobalStackFrame | ( | ) |
Mark the top of the global stack frame.
| void VariablesStack::popContextMarker | ( | ) |
Pop the current context from the current context stack.
| void VariablesStack::popElementFrame | ( | ) |
Pop a frame marker for an element.
| elem | the element |
| void VariablesStack::pushContextMarker | ( | ) |
Push a context marker onto the stack to let us know when to stop searching for a var.
| caller | caller node | |
| sourceNode | source node |
| void VariablesStack::pushElementFrame | ( | const ElemTemplateElement * | elem | ) |
Push a frame marker for an element.
| elem | the element |
| void VariablesStack::pushParams | ( | const ParamsVectorType & | theParams | ) |
Push the provided objects as parameters.
You must call popContextMarker() when you are done with the arguments.
| theParam | The vector containing the parameters. |
| void VariablesStack::pushVariable | ( | const XalanQName & | name, | |
| const ElemVariable * | var, | |||
| const ElemTemplateElement * | e | |||
| ) |
Push a named variable onto the processor variable stack.
Don't forget to call startContext before pushing a series of arguments for a given template.
| name | name of variable | |
| val | pointer to ElemVariable | |
| e | element marker for variable |
| void VariablesStack::pushVariable | ( | const XalanQName & | name, | |
| const XObjectPtr & | val, | |||
| const ElemTemplateElement * | e | |||
| ) |
Push a named variable onto the processor variable stack.
Don't forget to call startContext before pushing a series of arguments for a given template.
| name | name of variable | |
| val | pointer to XObject value | |
| e | element marker for variable |
| void VariablesStack::reset | ( | ) |
Reset the stack.
| void VariablesStack::resetParams | ( | ) |
Reset all params in the current stack frame.
| void VariablesStack::setCurrentStackFrameIndex | ( | size_type | currentStackFrameIndex = ~0u |
) | [inline] |
Set the top of the stack frame from where a search for a variable or param should take place.
Calling with no parameter will cause the index to be set to the size of the stack.
| currentStackFrameIndex | new value of index |
Definition at line 260 of file VariablesStack.hpp.
| void VariablesStack::start | ( | ) |
Mark the top of the stack.
| void VariablesStack::unmarkGlobalStackFrame | ( | ) |
Clear the marking of the global stack frame.
friend class CommitPushElementFrame [friend] |
Definition at line 553 of file VariablesStack.hpp.
friend class CommitPushParams [friend] |
Definition at line 514 of file VariablesStack.hpp.
friend class EnsurePop [friend] |
Definition at line 554 of file VariablesStack.hpp.
friend class PushParamFunctor [friend] |
Definition at line 555 of file VariablesStack.hpp.
friend class SetAndRestoreForceGlobalSearch [friend] |
Definition at line 556 of file VariablesStack.hpp.
Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.
|
Xalan-C++ XSLT Processor Version 1.11 |
|
|