WSF
WsfParseNamedRule Class Reference

#include <WsfParseRule.hpp>

Inheritance diagram for WsfParseNamedRule:
Collaboration diagram for WsfParseNamedRule:

Public Member Functions

 WsfParseNamedRule (WsfParseRuleMemory &aMem)
 WsfParseNamedRule (WsfParseRuleMemory &aMem, const std::string &aName, WsfParseRule *aRulePtr)
 ~WsfParseNamedRule () override
bool InitializeInputsOutputs ()
void Initialize (int aSequence) override
WsfParseStructFindStruct (const std::string &aRuleName)
WsfParseNamedRuleFind (const std::string &aRuleName)
WsfParseNamedRuleFindImmediate (const std::string &aRuleName)
WsfParseValueFindValue (const std::string &aTypeName)
bool HasNestedRules () const
WsfParseRuleDictionaryGetNestedRules () override
WsfParseRuleDictionaryGetNested ()
bool Read (WsfParser &aParser, WsfParseNode *&aNode) override
bool ReadRange (WsfParser &aParser, UtTextDocumentRange &aRange, WsfParseNode *&aNode, bool aCreateNode) override
void SetDefinition (WsfParseRule *aRulePtr)
std::string GetFullName () const
WsfParseRuleGetDefinition () const
WsfParseRule *& GetDefinition ()
std::vector< WsfParseRule * > GetSequence () override
WsfParseNamedRuleGetContext () const override
WsfParseRuleGetPassthrough () override
std::string GetRuleDescription () override
WsfParseValueGetRuleValue ()
bool IsPartValueRule ()
void Swap (WsfParseNamedRule &aRhs)
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 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

WsfParseNamedRulemContextParent
 The rule inside of which this rule is nested.
std::string mName
std::string mInputTypeName
WsfParseNamedRulemInputTypePtr
std::string mOutputTypeName
WsfParseNamedRulemOutputTypePtr
std::vector< WsfParseRule * > mReferencingRules
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 Attributes

WsfParseRuleDictionarymNestedRules
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

◆ WsfParseNamedRule() [1/2]

◆ WsfParseNamedRule() [2/2]

◆ ~WsfParseNamedRule()

WsfParseNamedRule::~WsfParseNamedRule ( )
override

References mNestedRules.

Member Function Documentation

◆ Find()

◆ FindImmediate()

WsfParseNamedRule * WsfParseNamedRule::FindImmediate ( const std::string & aRuleName)

◆ FindStruct()

WsfParseStruct * WsfParseNamedRule::FindStruct ( const std::string & aRuleName)

◆ FindValue()

WsfParseValue * WsfParseNamedRule::FindValue ( const std::string & aTypeName)

◆ GetContext()

WsfParseNamedRule * WsfParseNamedRule::GetContext ( ) const
inlineoverridevirtual

Reimplemented from WsfParseRule.

References mContextParent, and WsfParseNamedRule().

Referenced by WsfPProxyRegistry::Setup().

◆ GetDefinition() [1/2]

WsfParseRule *& WsfParseNamedRule::GetDefinition ( )
inline

◆ GetDefinition() [2/2]

WsfParseRule * WsfParseNamedRule::GetDefinition ( ) const
inline

◆ GetFullName()

◆ GetNested()

WsfParseRuleDictionary * WsfParseNamedRule::GetNested ( )

References mNestedRules.

◆ GetNestedRules()

WsfParseRuleDictionary * WsfParseNamedRule::GetNestedRules ( )
inlineoverridevirtual

Reimplemented from WsfParseRule.

References mNestedRules.

Referenced by WsfPProxyRegistry::FindStructs().

◆ GetPassthrough()

WsfParseRule * WsfParseNamedRule::GetPassthrough ( )
inlineoverridevirtual

◆ GetRuleDescription()

std::string WsfParseNamedRule::GetRuleDescription ( )
inlineoverridevirtual

Reimplemented from WsfParseRule.

References GetFullName().

◆ GetRuleValue()

◆ GetSequence()

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

Reimplemented from WsfParseRule.

References WsfParseRule::mSubordinateRulePtr.

◆ HasNestedRules()

bool WsfParseNamedRule::HasNestedRules ( ) const
inline

References mNestedRules.

◆ Initialize()

void WsfParseNamedRule::Initialize ( int aSequence)
overridevirtual

◆ InitializeInputsOutputs()

bool WsfParseNamedRule::InitializeInputsOutputs ( )

◆ IsPartValueRule()

bool WsfParseNamedRule::IsPartValueRule ( )
inline

◆ Read()

bool WsfParseNamedRule::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(), mName, WsfParseNode::mRulePtr, WsfParseRule::mSubordinateRulePtr, WsfParser::NewNode(), and ok.

◆ ReadRange()

bool WsfParseNamedRule::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.

◆ SetDefinition()

void WsfParseNamedRule::SetDefinition ( WsfParseRule * aRulePtr)

◆ Swap()

Member Data Documentation

◆ mContextParent

WsfParseNamedRule* WsfParseNamedRule::mContextParent

◆ mInputTypeName

std::string WsfParseNamedRule::mInputTypeName

◆ mInputTypePtr

◆ mName

◆ mNestedRules

◆ mOutputTypeName

std::string WsfParseNamedRule::mOutputTypeName

◆ mOutputTypePtr

◆ mReferencingRules

std::vector<WsfParseRule*> WsfParseNamedRule::mReferencingRules

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