|
WSF
|
#include <WsfParseSequence.hpp>


Public Member Functions | |
| WsfParseSequence (WsfParseRuleMemory &aMem) | |
| ~WsfParseSequence () override | |
| bool | Read (WsfParser &aParser, WsfParseNode *&aNode) override |
| bool | ReadRange (WsfParser &aParser, UtTextDocumentRange &aRange, WsfParseNode *&aNode, bool aCreateNode) override |
| void | Initialize (int aSequence) override |
| void | ResolveChildren (WsfParser &aParser, WsfParseNode *aNode) |
| void | UndoChildren (WsfParser &aParser, size_t aMaxIndex) |
| std::vector< WsfParseRule * > | GetSequence () override |
| const std::vector< WsfParseRule * > & | Sequence () const |
| std::vector< WsfParseRule * > & | ChangeSequence () |
| void | AddRule (WsfParseRule *aRulePtr) |
| void | Swap (WsfParseSequence &aRhs) |
| void | SetAction (size_t aIndex, WsfParseAction *aActionPtr) |
| WsfParseAction * | GetActionBefore (size_t aSequenceIndex) const |
| WsfParseAction * | TakeActionBefore (size_t aSequenceIndex) |
| bool | HasActions () const |
| std::string | GetRuleDescription () override |
| size_t | FindChildIndex (WsfParseRule *aChildPtr) |
| size_t | FindActionIndex (WsfParseAction *aActionPtr) |
| Public Member Functions inherited from WsfParseRule | |
| WsfParseRule (WsfParseRuleMemory &aMem, RuleType aType) | |
| virtual | ~WsfParseRule ()=default |
| WsfParseRule (const WsfParseRule &)=default | |
| void | Swap (WsfParseRule &aRhs) |
| RuleType | Type () const |
| Returns an enumeration specifying the derived type of the reader. | |
| virtual void | Undo (WsfParser &aParser) |
| virtual void | Resolve (WsfParser &aParser, WsfParseNode *aNodePtr) |
| virtual std::vector< WsfParseRule * > | GetAlternates () |
| virtual WsfParseRuleDictionary * | GetNestedRules () |
| virtual WsfParseNamedRule * | GetContext () const |
| virtual WsfParseRule * | GetPassthrough () |
| virtual WsfParseValueType * | GetType () |
| If the rule is also a type, return the type. | |
| WsfParseStruct * | GetContainingStruct () const |
| WsfParseStruct * | GetStruct () |
| WsfParseNamedRule * | GetEntryType () |
| WsfParseNamedRule * | GetInputType () |
| WsfParseNamedRule * | GetOutputType () |
| WsfParseNamedRule * | GetBestContext () |
| WsfParseNamedRule * | GetVarContext () |
| bool | IsNamedRule () const |
| int | GetReaderFlags () const |
| WsfParseRule * | GetSubordinateRule () const |
| void | SetSubordinateRule (WsfParseRule *aRulePtr) |
Public Attributes | |
| bool | mSpecialCommand |
| Does the command require special handling. | |
| bool | mHasResolutionValues |
| bool | mHasUndoValues |
| int | mNodeFlags |
| size_t | mDelayLoadIndex |
| Public Attributes inherited from WsfParseRule | |
| RuleType | mRuleType |
| int | mReaderFlags |
| int | mUserId |
| WsfParseRule * | mParentRulePtr |
| Pointer to the parent rule. This should be valid for unnamed rules. | |
Protected Member Functions | |
| bool | CompleteDelayLoad (WsfParser &aParser, WsfParseNode *&aNode, WsfParseNode *aThisNodePtr) |
Protected Attributes | |
| std::vector< WsfParseRule * > | mSequence |
| std::vector< WsfParseAction * > | mActions |
| Protected Attributes inherited from WsfParseRule | |
| WsfParseRule * | mSubordinateRulePtr |
Additional Inherited Members | |
| Public Types inherited from WsfParseRule | |
| enum | RuleType { cNAMED_RULE , cVALUE , cSTRUCT , cSEQUENCE , cALTERNATE , cRECURRENCE , cRULE_REFERENCE , cREAL , cINT , cSTRING , cLINE_STRING , cQUOTED_STRING , cLITERAL , cDELIMITED , cTYPE_LOAD , cTYPE_COMMAND , cPASSTHROUGH , cSCRIPT_BLOCK } |
| enum | ReaderFlags { cCAN_RESOLVE = 1 , cCAN_UNDO = 2 , cIS_SINGLE_TOKEN = 4 , cIS_PASSTHROUGH = 8 , cIS_VALUE_RULE = 0x10 } |
| WsfParseSequence::WsfParseSequence | ( | WsfParseRuleMemory & | aMem | ) |
References WsfParseRule::cSEQUENCE, mDelayLoadIndex, mHasResolutionValues, mHasUndoValues, mNodeFlags, mSpecialCommand, and WsfParseRule::WsfParseRule().
Referenced by Swap().
|
override |
References mActions.
|
inline |
References WsfParseRule::mParentRulePtr, mSequence, and WsfParseRule::WsfParseRule().
|
inline |
References mSequence.
|
protected |
References WsfParser::AddError(), WsfParseRule::cALTERNATE, WsfParseTypeInfoData::cLOAD_TYPE, WsfParseTypeLoadRule::CreateTypePath(), WsfParseRule::cRECURRENCE, WsfParser::DelayLoad(), WsfParseNode::GetLeftmostValue(), WsfParseTypeLoadRule::GetOperation(), WsfParser::GetParseIndex(), mDelayLoadIndex, WsfParseRecurrence::mEndKeyword, WsfParseTypeLoadRule::mLoadType, WsfParseRule::mParentRulePtr, WsfParseNode::mRulePtr, WsfParseTypeLoadRule::mSaveType, mSequence, WsfParseNode::mValue, WsfParser::ReadWord(), WsfParseRule::Type(), and WsfParseRule::WsfParseRule().
Referenced by Read().
|
inline |
References mActions.
|
inline |
References mSequence, and WsfParseRule::WsfParseRule().
Referenced by WsfPProxySatisfy::SatisfyTypeLoad().
|
inline |
|
overridevirtual |
Reimplemented from WsfParseRule.
References mSequence.
Referenced by WsfPProxySatisfy::SatisfySequence().
|
inlineoverridevirtual |
Reimplemented from WsfParseRule.
References mSequence.
|
inline |
References mActions.
|
overridevirtual |
Reimplemented from WsfParseRule.
References WsfParseRule::cCAN_RESOLVE, WsfParseRule::cCAN_UNDO, WsfParseTypeInfoData::cCREATE_TYPE, WsfParseRule::cIS_SINGLE_TOKEN, WsfParseTypeInfoData::cLOAD_TYPE, WsfParseRule::cRECURRENCE, WsfParseRule::cTYPE_LOAD, WsfParseTypeLoadRule::GetOperation(), WsfParseRule::GetReaderFlags(), WsfParseRule::Initialize(), mDelayLoadIndex, mHasResolutionValues, mHasUndoValues, WsfParseTypeLoadRule::mLoadType, WsfParseTypeName::mNestedLookup, WsfParseRule::mReaderFlags, WsfParseTypeLoadRule::mSaveType, mSequence, WsfParseRule::Type(), and WsfParseRule::WsfParseRule().
|
overridevirtual |
Override to parse and generate a parse node. Parse nodes should be generated even on error conditions if possible.
| aParser | The parser. |
| aNode | Set to the resulting parse node. |
Implements WsfParseRule.
References WsfParseNode::Add(), CompleteDelayLoad(), WsfParseRule::cRECURRENCE, WsfParser::FreeNode(), WsfParser::GetWordsRead(), WsfParser::IsDelayLoading(), WsfParseNode::MarkIncomplete(), mDelayLoadIndex, WsfParseNode::mFlags, mHasResolutionValues, mHasUndoValues, mNodeFlags, mSequence, mSpecialCommand, WsfParser::NewNode(), WsfParser::PartialMatch(), WsfParser::PopSequence(), WsfParser::ProcessSpecialNode(), WsfParser::PushSequence(), WsfParseRule::Read(), ResolveChildren(), success, WsfParseRule::Type(), UndoChildren(), WsfParser::UndoRead(), WsfParser::UndoReadAndGetRange(), and WsfParseRule::WsfParseRule().
|
overridevirtual |
Override to parse and generate a parse node given a single block of text. This method must be implemented to take part in delimited expressions.
Reimplemented from WsfParseRule.
References mSequence.
| void WsfParseSequence::ResolveChildren | ( | WsfParser & | aParser, |
| WsfParseNode * | aNode ) |
References WsfParseRule::cCAN_RESOLVE, WsfParseRule::GetReaderFlags(), mSequence, WsfParseRule::Resolve(), and WsfParseRule::WsfParseRule().
Referenced by Read().
|
inline |
| void WsfParseSequence::SetAction | ( | size_t | aIndex, |
| WsfParseAction * | aActionPtr ) |
References mActions.
|
inline |
References mSequence, std::swap(), and WsfParseSequence().
Referenced by std::swap().
|
inline |
References mActions.
| void WsfParseSequence::UndoChildren | ( | WsfParser & | aParser, |
| size_t | aMaxIndex ) |
References WsfParseRule::cCAN_UNDO, WsfParseRule::GetReaderFlags(), mSequence, WsfParseRule::Undo(), and WsfParseRule::WsfParseRule().
Referenced by Read().
|
protected |
Referenced by FindActionIndex(), GetActionBefore(), HasActions(), SetAction(), TakeActionBefore(), and ~WsfParseSequence().
| size_t WsfParseSequence::mDelayLoadIndex |
Referenced by CompleteDelayLoad(), Initialize(), Read(), and WsfParseSequence().
| bool WsfParseSequence::mHasResolutionValues |
Referenced by Initialize(), Read(), and WsfParseSequence().
| bool WsfParseSequence::mHasUndoValues |
Referenced by Initialize(), Read(), and WsfParseSequence().
| int WsfParseSequence::mNodeFlags |
Referenced by wizard::AutoComplete::ExpandRule(), Read(), and WsfParseSequence().
|
protected |
Referenced by AddRule(), ChangeSequence(), CompleteDelayLoad(), FindChildIndex(), GetRuleDescription(), GetSequence(), Initialize(), Read(), ReadRange(), ResolveChildren(), Sequence(), Swap(), and UndoChildren().
| bool WsfParseSequence::mSpecialCommand |
Does the command require special handling.
Referenced by WsfParseDefinitions::Initialize(), Read(), and WsfParseSequence().