WSF
WsfParseSequence Class Reference

#include <WsfParseSequence.hpp>

Inheritance diagram for WsfParseSequence:
Collaboration diagram for WsfParseSequence:

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)
WsfParseActionGetActionBefore (size_t aSequenceIndex) const
WsfParseActionTakeActionBefore (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 WsfParseRuleDictionaryGetNestedRules ()
virtual WsfParseNamedRuleGetContext () const
virtual WsfParseRuleGetPassthrough ()
virtual WsfParseValueTypeGetType ()
 If the rule is also a type, return the type.
WsfParseStructGetContainingStruct () const
WsfParseStructGetStruct ()
WsfParseNamedRuleGetEntryType ()
WsfParseNamedRuleGetInputType ()
WsfParseNamedRuleGetOutputType ()
WsfParseNamedRuleGetBestContext ()
WsfParseNamedRuleGetVarContext ()
bool IsNamedRule () const
int GetReaderFlags () const
WsfParseRuleGetSubordinateRule () 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
WsfParseRulemParentRulePtr
 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
WsfParseRulemSubordinateRulePtr

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
}

Constructor & Destructor Documentation

◆ WsfParseSequence()

◆ ~WsfParseSequence()

WsfParseSequence::~WsfParseSequence ( )
override

References mActions.

Member Function Documentation

◆ AddRule()

void WsfParseSequence::AddRule ( WsfParseRule * aRulePtr)
inline

◆ ChangeSequence()

std::vector< WsfParseRule * > & WsfParseSequence::ChangeSequence ( )
inline

References mSequence.

◆ CompleteDelayLoad()

◆ FindActionIndex()

size_t WsfParseSequence::FindActionIndex ( WsfParseAction * aActionPtr)
inline

References mActions.

◆ FindChildIndex()

size_t WsfParseSequence::FindChildIndex ( WsfParseRule * aChildPtr)
inline

◆ GetActionBefore()

◆ GetRuleDescription()

std::string WsfParseSequence::GetRuleDescription ( )
overridevirtual

Reimplemented from WsfParseRule.

References mSequence.

Referenced by WsfPProxySatisfy::SatisfySequence().

◆ GetSequence()

std::vector< WsfParseRule * > WsfParseSequence::GetSequence ( )
inlineoverridevirtual

Reimplemented from WsfParseRule.

References mSequence.

◆ HasActions()

bool WsfParseSequence::HasActions ( ) const
inline

References mActions.

◆ Initialize()

◆ Read()

◆ ReadRange()

bool WsfParseSequence::ReadRange ( WsfParser & aParser,
UtTextDocumentRange & aRange,
WsfParseNode *& aNode,
bool aCreateNode )
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.

◆ ResolveChildren()

void WsfParseSequence::ResolveChildren ( WsfParser & aParser,
WsfParseNode * aNode )

◆ Sequence()

◆ SetAction()

void WsfParseSequence::SetAction ( size_t aIndex,
WsfParseAction * aActionPtr )

References mActions.

◆ Swap()

void WsfParseSequence::Swap ( WsfParseSequence & aRhs)
inline

References mSequence, std::swap(), and WsfParseSequence().

Referenced by std::swap().

◆ TakeActionBefore()

WsfParseAction * WsfParseSequence::TakeActionBefore ( size_t aSequenceIndex)
inline

References mActions.

◆ UndoChildren()

void WsfParseSequence::UndoChildren ( WsfParser & aParser,
size_t aMaxIndex )

Member Data Documentation

◆ mActions

std::vector<WsfParseAction*> WsfParseSequence::mActions
protected

◆ mDelayLoadIndex

size_t WsfParseSequence::mDelayLoadIndex

◆ mHasResolutionValues

bool WsfParseSequence::mHasResolutionValues

Referenced by Initialize(), Read(), and WsfParseSequence().

◆ mHasUndoValues

bool WsfParseSequence::mHasUndoValues

Referenced by Initialize(), Read(), and WsfParseSequence().

◆ mNodeFlags

int WsfParseSequence::mNodeFlags

◆ mSequence

◆ mSpecialCommand

bool WsfParseSequence::mSpecialCommand

Does the command require special handling.

Referenced by WsfParseDefinitions::Initialize(), Read(), and WsfParseSequence().


The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved