CLI
- Implemented ::findStrayModifications to spot FILTER args detected before 'add' or 'log' commands, and upgrade them to MODIFICATIONs.
This commit is contained in:
27
src/CLI.cpp
27
src/CLI.cpp
@@ -341,6 +341,7 @@ void CLI::analyze (bool parse /* = true */, bool strict /* = false */)
|
||||
findUUIDs ();
|
||||
insertIDExpr ();
|
||||
desugarTags ();
|
||||
findStrayModifications ();
|
||||
desugarAttributes ();
|
||||
desugarAttributeModifiers ();
|
||||
desugarPatterns ();
|
||||
@@ -907,6 +908,32 @@ void CLI::desugarTags ()
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
void CLI::findStrayModifications ()
|
||||
{
|
||||
bool changes = false;
|
||||
|
||||
std::string command = getCommand ();
|
||||
if (command == "add" ||
|
||||
command == "log")
|
||||
{
|
||||
std::vector <A>::iterator a;
|
||||
for (a = _args.begin (); a != _args.end (); ++a)
|
||||
{
|
||||
if (a->hasTag ("FILTER"))
|
||||
{
|
||||
a->unTag ("FILTER");
|
||||
a->tag ("MODIFICATION");
|
||||
changes = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (changes)
|
||||
if (context.config.getInteger ("debug.parser") >= 3)
|
||||
context.debug (context.cli.dump ("CLI::analyze findStrayModifications"));
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// <name>:['"][<value>]['"] --> name = value
|
||||
void CLI::desugarAttributes ()
|
||||
|
||||
Reference in New Issue
Block a user