WSF
WsfParseRuleReference Class Reference

#include <WsfParseRule.hpp>

Inheritance diagram for WsfParseRuleReference:
Collaboration diagram for WsfParseRuleReference:

Public Member Functions

 WsfParseRuleReference (WsfParseRuleMemory &aMem)
 ~WsfParseRuleReference () override
bool Read (WsfParser &aParser, WsfParseNode *&aNode) override
bool ReadRange (WsfParser &aParser, UtTextDocumentRange &aRange, WsfParseNode *&aNode, bool aCreateNode) override
void SetReferencedRule (WsfParseRule *aRulePtr)
std::vector< WsfParseRule * > GetSequence () override
WsfParseNamedRuleGetRulePtr ()
WsfParseRuleGetPassthrough () override
std::string GetRuleDescription () override
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 void Initialize (int aSequence)
virtual std::vector< WsfParseRule * > GetAlternates ()
virtual WsfParseRuleDictionaryGetNestedRules ()
virtual WsfParseNamedRuleGetContext () const
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

std::string mRuleName
Public Attributes inherited from WsfParseRule
RuleType mRuleType
int mReaderFlags
int mUserId
WsfParseRulemParentRulePtr
 Pointer to the parent rule. This should be valid for unnamed rules.

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
}
Protected Attributes inherited from WsfParseRule
WsfParseRulemSubordinateRulePtr

Constructor & Destructor Documentation

◆ WsfParseRuleReference()

◆ ~WsfParseRuleReference()

WsfParseRuleReference::~WsfParseRuleReference ( )
override

Member Function Documentation

◆ GetPassthrough()

WsfParseRule * WsfParseRuleReference::GetPassthrough ( )
inlineoverridevirtual

◆ GetRuleDescription()

std::string WsfParseRuleReference::GetRuleDescription ( )
inlineoverridevirtual

Reimplemented from WsfParseRule.

References mRuleName.

◆ GetRulePtr()

WsfParseNamedRule * WsfParseRuleReference::GetRulePtr ( )
inline

◆ GetSequence()

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

Reimplemented from WsfParseRule.

References WsfParseRule::GetSubordinateRule().

◆ Read()

bool WsfParseRuleReference::Read ( WsfParser & aParser,
WsfParseNode *& aNode )
overridevirtual

Override to parse and generate a parse node. Parse nodes should be generated even on error conditions if possible.

Parameters
aParserThe parser.
aNodeSet to the resulting parse node.
Returns
'true' if a parse node was generated.

Implements WsfParseRule.

References WsfParseNode::Add(), WsfParser::FullyExpandNodes(), WsfParseNode::mRulePtr, WsfParseRule::mSubordinateRulePtr, WsfParser::NewNode(), and ok.

◆ ReadRange()

bool WsfParseRuleReference::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 WsfParseNode::mRulePtr, WsfParseRule::mSubordinateRulePtr, and ok.

◆ SetReferencedRule()

void WsfParseRuleReference::SetReferencedRule ( WsfParseRule * aRulePtr)
inline

Member Data Documentation

◆ mRuleName

std::string WsfParseRuleReference::mRuleName

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