Parser
- Modified ::findFilter to use collect.
This commit is contained in:
@@ -188,8 +188,8 @@ Tree* Parser::parse ()
|
|||||||
findCommand ();
|
findCommand ();
|
||||||
findUUIDList ();
|
findUUIDList ();
|
||||||
findIdSequence ();
|
findIdSequence ();
|
||||||
// GOOD ^^^
|
|
||||||
findFilter ();
|
findFilter ();
|
||||||
|
// GOOD ^^^
|
||||||
findModifications ();
|
findModifications ();
|
||||||
findStrayModifications ();
|
findStrayModifications ();
|
||||||
|
|
||||||
@@ -1226,7 +1226,7 @@ void Parser::findAttributeModifier ()
|
|||||||
//
|
//
|
||||||
void Parser::findIdSequence ()
|
void Parser::findIdSequence ()
|
||||||
{
|
{
|
||||||
context.debug ("Parser::findAttributeModifier");
|
context.debug ("Parser::findIdSequence");
|
||||||
bool action = false;
|
bool action = false;
|
||||||
|
|
||||||
std::vector <Tree*> nodes;
|
std::vector <Tree*> nodes;
|
||||||
@@ -1494,10 +1494,16 @@ void Parser::findOperator ()
|
|||||||
// Anything after READCMD, but not BINARY, RC or CONFIG --> FILTER
|
// Anything after READCMD, but not BINARY, RC or CONFIG --> FILTER
|
||||||
void Parser::findFilter ()
|
void Parser::findFilter ()
|
||||||
{
|
{
|
||||||
|
context.debug ("Parser::findFilter");
|
||||||
|
bool action = false;
|
||||||
|
|
||||||
bool before_cmd = true;
|
bool before_cmd = true;
|
||||||
bool after_readcmd = false;
|
bool after_readcmd = false;
|
||||||
|
|
||||||
|
std::vector <Tree*> nodes;
|
||||||
|
collect (nodes, false);
|
||||||
std::vector <Tree*>::iterator i;
|
std::vector <Tree*>::iterator i;
|
||||||
for (i = _tree->_branches.begin (); i != _tree->_branches.end (); ++i)
|
for (i = nodes.begin (); i != nodes.end (); ++i)
|
||||||
{
|
{
|
||||||
// Parser override operator.
|
// Parser override operator.
|
||||||
if ((*i)->attribute ("raw") == "--")
|
if ((*i)->attribute ("raw") == "--")
|
||||||
@@ -1517,6 +1523,7 @@ void Parser::findFilter ()
|
|||||||
{
|
{
|
||||||
(*i)->unTag ("?");
|
(*i)->unTag ("?");
|
||||||
(*i)->tag ("FILTER");
|
(*i)->tag ("FILTER");
|
||||||
|
action = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (after_readcmd &&
|
if (after_readcmd &&
|
||||||
@@ -1527,8 +1534,12 @@ void Parser::findFilter ()
|
|||||||
{
|
{
|
||||||
(*i)->unTag ("?");
|
(*i)->unTag ("?");
|
||||||
(*i)->tag ("FILTER");
|
(*i)->tag ("FILTER");
|
||||||
|
action = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (action)
|
||||||
|
context.debug (_tree->dump ());
|
||||||
}
|
}
|
||||||
|
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|||||||
Reference in New Issue
Block a user